Por que o Firefox ignora o status '304 Not Modified' enviado pelo servidor da web?

1

Para o meu site, o Firefox 32.0 parece não armazenar em cache um arquivo CSS da minha instalação do Nikola 7.1.0 e ignora a resposta 304 Not Modified pelo servidor web. O que também me intriga é que ele envia a segunda solicitação com um cabeçalho Accept: diferente.

O Chrome 37.0 não mostra esse comportamento e só solicita o arquivo uma vez.

A primeira solicitação HTTP enviada pelo Firefox é:

GET /assets/css/all-nocdn.css HTTP/1.1
Accept:  text/css,*/*;q=0.1
Accept-Encoding:  gzip, deflate
Accept-Language:  en-GB,en;q=0.5
Authorization:  …
Cache-Control:  max-age=0
Connection:  keep-alive
Host:  …
If-Modified-Since:  Mon, 14 Jul 2014 09:12:55 GMT
If-None-Match:  "2838446235"
Referer:  …
User-Agent:  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:32.0) Gecko/20100101 Firefox/32.0



HTTP/1.1 304 Not Modified
Content-Type: text/css
Date: Fri, 12 Sep 2014 07:18:02 GMT
ETag: "2838446235"
Last-Modified: Mon, 14 Jul 2014 09:12:55 GMT
Server: lighttpd/1.4.35
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
Vary: Accept-Encoding

E a próxima solicitação HTTP é:

GET /assets/css/all-nocdn.css HTTP/1.1
Accept:  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding:  gzip, deflate
Accept-Language:  en-GB,en;q=0.5
Authorization:  …
Cache-Control:  no-cache
Connection:  keep-alive
Host:  …
Pragma:  no-cache
User-Agent:  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:32.0) Gecko/20100101 Firefox/32.0



HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Encoding: gzip
Content-Length: 22700
Content-Type: text/css
Date: Fri, 12 Sep 2014 07:26:42 GMT
ETag: "2838446235"
Last-Modified: Mon, 14 Jul 2014 09:12:55 GMT
Server: lighttpd/1.4.35
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
Vary: Accept-Encoding


…

(Na verdade, reproduzi isso usando HTTPie , porque o Firefox não permite copiar a resposta do servidor como um todo. Copiar os cabeçalhos da solicitação é possível clicando em "Editar e reenviar".)

Quais poderiam ser as razões para esse comportamento? O Firefox oferece uma maneira de ver o motivo de uma solicitação HTTP? (O que o Chrome chama de "iniciador".)

Por favor, dê uma olhada na minha Captura de tela da seção Rede da barra de ferramentas do Firefox Developer para ver uma visão geral de todas as solicitações na linha do tempo:

    
por devurandom 12.09.2014 / 09:34

0 respostas