을 설득하기 위해 Firefox 보내 If-Modified-Since 헤더 HTTPS
문제
납득시키려면 어떻게 해야 할까 파이어 폭스(3.0.1,중요한 경우)을 보내면 if-Modified-Since 헤더에서는 HTTPS 를 요청이 있으십니까?그것은 헤더를 보내면 요청을 사용하며 나의 서버에 충실하게 명예요.하지만 내가 요청을 같은 자원에서 동일한 서버는 HTTPS 를 사용하는 대신(즉,단순히 변화하는 http://URL https://)다운로 보내지 않 If-Modified-Since 헤더에서 모두.이 행동에 의해 SSL 을 사양 또는 뭔가?
여기에는 몇 가지 예를 들어 HTTP 와 HTTPS 요청/응답 쌍을 뽑을 사용하여 라이브 HTTP 헤더 Firefox extension,으로 약간의 차이에 대담:
HTTP 요청/응답:
http://myserver.com:30000/scripts/site.js GET /scripts/site.js HTTP/1.1 Host: myserver.com:30000 User-Agent: Mozilla/5.0 (...) Gecko/2008070206 Firefox/3.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive If-Modified-Since:Tue,19Aug2008 15:57:30GMT 경우 없음-경기:"a0501d1-300a-454d22526ae80"-gzip Cache-Control:max-age=0 HTTP/1.x 304 Not Modified Date: Tue, 19 Aug 2008 15:59:23 GMT Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8 Connection: Keep-Alive Keep-Alive: timeout=5, max=99 Etag: "a0501d1-300a-454d22526ae80"-gzip
HTTPS 요청/응답:
https://myserver.com:30001/scripts/site.js GET /scripts/site.js HTTP/1.1 Host: myserver.com:30001 User-Agent: Mozilla/5.0 (...) Gecko/2008070206 Firefox/3.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive HTTP/1.x 200 OK Date: Tue, 19 Aug 2008 16:00:14 GMT Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8 Last-Modified: Tue, 19 Aug 2008 15:57:30 GMT Etag: "a0501d1-300a-454d22526ae80"-gzip Accept-Ranges: bytes Content-Encoding: gzip Content-Length: 3766 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/javascript
업데이트:설정 browser.cache.disk_cache_ssl
true 았다 트릭(수하기 때문에,로 Nickolay 인,아직도 있다는 메모리 캐시).추가"Cache-control:공"헤더를 응답에도 일했다.감사합니다!
해결책
HTTPS 요청은 캐쉬하지 않도록 전송하는 경우-Modified-Since 하지 않습니다.의 캐싱하지 않은 보안 문제를 찾을 수 없습니다.
지 않은 캐싱 에 디스크 보안 pre-주이지만,그것은 보인다 실제로 영향을 미치는 If-Modified-Since 동작(기는 코드).
설정하십시오 Firefox 환경(about:config) 브라우저입니다.캐시입니다.disk_cache_ssl 하기 true.는 경우에는 데 도움이를 보내십시오 Cache-Control:공개 헤더에 응답합니다.
업데이트: 파이어 폭스 동작 변경 Gecko2.0(Firefox4)--HTTPS 내용은 지금 캐시됩니다.
다른 팁
HTTPS 요청은 캐쉬하지 않도록 보내기 If-Modified-Since 하지 않습니다.의 캐싱하지 않은 보안 문제를 찾을 수 없습니다.