2014-05-12 7 views
38

Podaję gzipowane kopie moich plików css/javascript. Zgodnie z samouczkiem ustawiam typ zawartości jako application/gzip podczas serwowania tych plików. Jednak wydaje się, że chrome nie rozpakowuje tych plików, a dla plików javascript pojawia się wiele "nielegalnych znaków". Jeśli wyświetlam źródło, nadal widzę pliki jako skompresowane, a nie nieskompresowane.Jaki nagłówek "Content-Type" ma być używany podczas wyświetlania plików w formacie zip?

Moje pytanie brzmi, co powinienem ustawić jako typ zawartości dla tych plików, aby przeglądarka poprawnie je zinterpretowała jako spakowane pliki css/js i rozpakować je? Jeśli ustawię tylko text/javascript lub text/css, czy przeglądarka nadal będzie je poprawnie interpretować?

Edit: nagłówki pełną odpowiedź:

HTTP/1.1 200 OK 
x-amz-id-2: UIBkZT/MuFxsmn+3nVOzEO63rRY99l3traCbMExUgSdGHUrOIPtNp34h1+ujYKmt 
x-amz-request-id: 19346C9B01D8FC62 
Date: Mon, 12 May 2014 03:59:51 GMT 
Content-Encoding: gzip 
Last-Modified: Mon, 12 May 2014 02:24:54 GMT 
ETag: "561080b5e19f6daea2e74fd5a0623c79" 
Accept-Ranges: bytes 
Content-Type: application/x-gzip 
Content-Length: 5153 
Server: AmazonS3 

Odpowiedz

62

zawartość skompresowanych w odpowiedzi jest wskazany w Content-Encoding. Numer Content-Type powinien pozostać niezmieniony, tzn. Powinien odzwierciedlać bazowy typ materiału, który jest skompresowany.

Content-Type: application/javascript 
Content-Encoding: gzip 

rozdziałach 14.11 Content-Encoding i 3.5 Content Codings z RFC 2616, aby uzyskać więcej informacji.

+1

Już to robię, ale nadal nie interpretuję poprawnie skryptu. Zmodyfikowałem, aby umieścić pełne nagłówki w pytaniu –

+0

Daje to komunikat "Uncaught SyntaxError: Nieoczekiwany token ILLEGAL" na linii 1, a kiedy to sprawdzam, widzę, że ma on nazwę pliku w tym wierszu, np. ' aRjquery-1.7.1.min.js } '. Skompresowałem pliki używając 'gzip -9', czy muszę gzipować przy niższym ustawieniu? Czy muszę usunąć nazwy plików od początku pliku? –

+2

OK, widzę oczekiwane kodowanie treści, ale typ zawartości powinien odzwierciedlać podstawowy rodzaj materiału, który jest skompresowany. Spróbuj zmienić 'application/x-gzip' z powrotem na' application/javascript'. –

Powiązane problemy