HTTP Cache 에 대한 간단 한 이야기
이른바 HTTP Cache 메커니즘 이란 서버 와 클 라 이언 트 간 의 약속 으로 클 라 이언 트 와 서버 프로그램 에 의 해 구체 적 으로 실현 되 어야 한다.
현대 브 라 우 저 와 일부 추상 적 인 차원 에서 서버 웹 프레임 워 크 에 대해 어느 정도 에 이 약속 에 대한 지 지 를 실현 했다.그러나 우리 가 비교적 밑바닥 에 있 는 http 도 구 를 사용 하여 요청 을 받 을 때 이런 도 구 는 이러한 논 리 를 포함 하지 않 고 인공 적 으로 합 리 적 으로 실현 해 야 한다.
대략적인 흐름
기술 세부 사항
서버 는 주로 Response 중의
Cache-Control
Header 를 통 해 클 라 이언 트 가 데 이 터 를 캐 시 하도록 지도 한다.예 를 들 어 서버 에서 클 라 이언 트 가 데 이 터 를 하루 동안 캐 시 하 기 를 원한 다 면 설정 할 수 있 습 니 다
Cache-Control: max-age: 86400
.주의 max-age
의 매개 변 수 는 초 입 니 다.추가 로 서버 에 서 는 이 데이터 의 지문 을 지 니 고 있 는 Header ETag
도 첨부 된다.클 라 이언 트 가 로 컬 캐 시가 만 료 된 것 을 발견 하면 서버 에 데 이 터 를 다시 요청 할 때
If-None-Match
Header 를 가 져 옵 니 다. 그 값 은 서버 에서 데 이 터 를 전송 할 때 가지 고 있 는 ETag
데이터 의 지문 입 니 다. 즉, 서버 에서 데 이 터 를 검사 할 수 있 도록 합 니 다.클 라 이언 트 캐 시 유효기간 내 에 데이터 요청 은 로 컬 캐 시 를 직접 읽 고 서버 에 실제로 보 내지 않 습 니 다.클 라 이언 트 가 로 컬 캐 시 를 강제로 업데이트 하려 면
Cache-Control: no-cache
Header 를 가지 고 서버 에 캐 시 를 보지 않 고 바로 검사 절차 에 들 어가 라 고 알려 줄 수 있 습 니 다.이상 의 예 는 단지 일반적인 용법 을 열거 하 였 을 뿐이다.
no-store
, smaxage
, must-reinvalidate
등 일부 매개 변 수 는 더욱 정교 한 통 제 를 실현 하 는 데 도움 을 줄 수 있 고 여기 서 전개 되 지 않 습 니 다.마지막 으로 더 많은 독자 들 이 아래 의 참고 링크 를 읽 기 를 바 라 는 것 에 감사 하고 추천 합 니 다.
레 퍼 런 스
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.