2012-10-17 3 views
1

다르게 캐시 제어를 설정 내가 크롬 페이지를 방문하고 캐싱 내가Heroku가 생산 현지 생산

같은이 응용 프로그램 fingerprint.css에 대한 응답 헤더를받을 때는 사용할 응용 프로그램이 http://chesseng.herokuapp.com/에서 Heroku가 실행이
Cache-Control:private 
Connection:keep-alive 
Content-Encoding:gzip 
Content-Type:text/css 
Date:Wed, 17 Oct 2012 00:17:19 GMT 
Last-Modified:Tue, 16 Oct 2012 03:13:38 GMT 
Status:200 OK 
transfer-encoding:chunked 
Vary:Accept-Encoding 
X-Rack-Cache:miss 

그러나 나는 rails s -e production와 로컬 인스턴스를 시작하고 그것을 응용 프로그램 fingerprint.css에 대한 응답 헤더를 방문하는 경우

Age:5119 
Cache-Control:public, max-age=31536000 
Connection:Keep-Alive 
Content-Encoding:gzip 
Content-Length:95828 
Content-Type:application/javascript 
Date:Tue, 16 Oct 2012 23:01:27 GMT 
Etag:"0bf9e9837d421c2e28be1ef4f0794a48" 
Last-Modified:Tue, 16 Oct 2012 01:07:17 GMT 
Server:WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) 
Vary:Accept-Encoding 
X-Content-Digest:add442e2036c1e6e9f4860dcc44496582a5c91b1 
X-Rack-Cache:fresh 
X-Request-Id:b89de17e397ac7b60acfe500e8d15df9 
X-Runtime:0.001632 
X-Ua-Compatible:IE=Edge,chrome=1 

같은 것입니다 왜 캐시 캐시 제어 등의 관련 분야, Etag 그래서 heroku에 비해 다른가요? 아마도 heroku가 Cache-Control : public, max-age = 31536000을 반환하기를 바랍니다. 하지만 먼저 로컬 생산 모드에서 Cache-Control:public, max-age=31536000이 설정되는 이유를 먼저 이해해야합니다. 그 수수께끼는 내가 config/environments/production.rbconfig.static_cache_control = "public, max-age=3600"를 설정하고 여전히 다시 max-age=31536000을 제공하고 캐싱 헤더에 영향을 미칠되는 rack-cache middleware를 사용하는 것처럼 보이는 X-Rack-Cache 헤더에서 max-age=3600

+0

Heroku'RAILS_ENV'이 (가) '생산'으로 설정되어 있습니까? – willglynn

답변

0

을 무시하는 것 같다 생산에 로컬 서버를 시작하기 때문에 경우 . 로컬 리소스가 캐시 (X-Rack-Cache:fresh)에 있지만, Heroku에서는 차이점을 설명하는 것이 (X-Rack-Cache:miss)이 아닙니다.

미들웨어 스택에서 랙 캐시를 제거하고 차이점이 없어지는지보십시오.

+0

랙 캐시가 레일 앱의 일부가되었습니다. 명시 적으로 의존성이있는 것 같지 않지만 내 Gemfile.lock에 나타납니다. – user782220

+0

@ user782220 자세히 살펴보면 Rails 자체에서 랙 캐시를 사용합니다. 'config.action_dispatch.rack_cache = false'를 추가하여 비활성화시키고, 현재 일어나고있는 일이 없어지는지 확인하십시오. – matt

+1

그게 그럴듯한 것 같지 않습니다. 'config.action_dispatch.rack_cache = false'를 추가하면 여전히'max-age'가 설정되어있는 다음이 반환됩니다. '캐시 제어 : 공공, 최대 연령 = 31536000' '연결 : 가까운 콘텐츠 인코딩 : gzip을 콘텐츠 유형 : 텍스트/CSS 날짜 : 2012년 10월 17일 (수) 그리니치 표준시 22시 18분 25초 의 ETag : "70c612ba1cb2b23dfc1b927194d53524" 마지막 수정 : 2012년 10월 13일 (토) 그리니치 표준시 02시 52분 50초 상태 : 200 OK 달라집니다 수락 인코딩을 X-요청 ID : d4205ea8d1fa0f4d2405f7c299dbfaee X-런타임 : 0.485778 X-UA-지원 : IE = Edge, chrome = 1 ' – user782220