2009-05-14 4 views
1

gzip 형식으로 저장된 html 파일이 있습니다. 브라우저는 html 파일을 표시하지만 javascript 및 CSS는 표시하지 않습니다. 동일한 디렉토리에 압축되지 않은 html 파일이 올바르게 표시됩니다. 또한 압축 HTML 파일에서 소스를 저장하고 JS 및 CSS를 적용하여 올바르게 다시 열었습니다.JS 및 CSS없이 gzip으로 압축 된 html 파일을 표시하는 이유는 무엇입니까?

JS 및 CSS를 선택할 수없는 압축 HTML을 표시하는 것과 다른 점은 무엇입니까?

+2

전송할 파일을 gzipping하고 있습니까? 로컬에서 gzip을 사용하지 않았고 해당 파일을 서버에 저장 했습니까? – geowa4

+0

아니요. 내 cgi 응용 프로그램은 파일이 실행될 때 압축합니다. 파일은 압축 된 상태로 서버에 저장되어 있습니다. 임베디드 웹 서버를 사용하고 있으며 gzip 또는 지퍼를 즉시 지원하지 않습니다. –

+0

html이 올바르게 표시되면 JS 및 CSS 참조 또는 URL에 문제가있을 것입니다. 자신의 파일을 포함하는 방식에 이상하거나 다른 점이 있습니까? (물론 최소한 공개 URL이나 코드를 제공하고 누군가가 문제를 추측 할 때까지 기다리는 것이 가장 느린 답을 얻을 때까지 기다리는 것이 가장 쉽습니다) – brianpeiris

답변

3

기본 문제는 브라우저가 CSS를 예상하는 gzip 파일을 제공 할 수 없다는 것입니다. 그 자체로는 JPEG 또는 햄 샌드위치를 ​​반환하는 것보다 더 이상 작동하지 않습니다.

콘텐츠가 즉시 압축되면 응답이 다소 다릅니다. 응답에 "나는 text/css이지만 gzip을 사용하여 전송할 수 있습니다."라고 표시됩니다. 브라우저는 그 중 하나를 찾아 낼 수 있습니다.

Apache와 같은 일부 웹 서버는 gzipped 파일을 로컬로 제공 할 경우 이러한 종류의 작업을 수행합니다. 그러나 당신의 서버는 그렇지 않다고 생각합니다.

왜 HTML에서 작동합니까? 흠, 모르겠다. 어쩌면 브라우저가 실제로 그 특별한 경우에 알아낼 수 있을까?

궁극적으로 Content-Type : text/css 및 Content-Encoding : gzip을 사용하여 응답을 제공하면 제대로 인식됩니다.

2

그것은 당신이
(XAMPP 같은) 자신의 서버에 로컬 호스트에 최선을 다하고 그 다음 당신은 바로에게 파일을 gziped 될 수 있다고 말했다
헤더를 보낼 htaccess로 파일을 구성해야합니다. 당신의 주요 htaccess로 파일이 추가

시도 :

AddEncoding x-gzip .gz 
AddType text/html .gz 

하고 gziped 압축
파일이 에 .gz의 확장자 endind되어 있는지 확인합니다.

또한 항상 서버에서 실행하십시오. :)

관련 문제