Expires는 http 요청에 응답할 때 브라우저가 다시 요청하지 않고 만료 시간 전에 브라우저 캐시에서 데이터를 직접 가져올 수 있음을 브라우저에 알려주는 것입니다.
Cache-Control은 Expires와 동일한 기능을 가지고 있습니다. 둘 다 현재 리소스의 유효 기간을 나타내며 브라우저가 브라우저 캐시에서 데이터를 직접 가져올지 아니면 요청을 다시 보낼지 제어합니다. 데이터를 가져오는 서버입니다. Cache-Control에는 더 많은 선택 사항과 더 자세한 설정이 있습니다. 동시에 설정하면 만료보다 우선 순위가 높습니다.
1. HTTP 프로토콜의 캐시 제어에 대한 일반적인 값과 그 결합된 해석:
no-cache: 데이터 콘텐츠를 캐시할 수 없으며 다시 사용됩니다. -매번 요청합니다. max-age가 있으면 캐시 기간 동안 서버에 액세스하지 않습니다.
no-store: 캐시할 수 없을 뿐만 아니라 임시로 저장할 수도 없습니다. 리소스는 임시 폴더에 임시 저장할 수 없습니다)
private(기본값): 브라우저에만 캐시할 수 있으며, 첫 번째 요청에서만 서버에 액세스합니다. max-age가 설정된 경우 서버에 액세스하지 않습니다.
public: 브라우저, 서버, 프록시 서버 등 모든 캐시 영역에서 캐시할 수 있습니다.
max-age: 상대 만료 시간, 즉 초 단위의 캐시 시간입니다. 🎜>no-cache, private: 새 창을 열 때 서버를 다시 방문합니다. max-가 연령으로 설정되면 캐싱 중에 서버에 액세스하지 않습니다.
private, 양수 max-age: 서버는 돌아갈 때 액세스하지 않음
no-cache, 긍정적인 max-age: 돌아갈 때 서버에 액세스함
2. 응답 메시지는 다른 메시지 처리 프로세스의 캐시 처리 프로세스에 영향을 미치지 않습니다.
3. nginx 설정:
1) nginx에서 만료가 구성되지 않은 경우 기본 응답은 Cache-Control:private입니다.
2) 만료 시간을 -1로 설정한 다음 응답에 Cache-Control:no-cache
3) 응답에 add_header Cache를 설정할 수 있습니다. -no-store를 제어하면 응답은 다음과 같습니다.
Cache-Control:private Cache-Control:no-store
location ~ ^/ { expires -1; #add_header Cache-Control no-store; proxy_pass http://api.yuedu.web; }