Server HTTP 상태 코드 304 및 캐시된 오브젝트

옵션으로 지원되는 경우 웹 서버에서 HTTP 상태 코드 304를 리턴하여 브라우저에 로컬 캐시된 사본을 사용하도록 지시할 수 있습니다.

GET 요청의 일부로 브라우저에 If-Modified-Since라는 헤더가 포함될 수 있습니다.

웹 서버가 이 옵션을 지원할 경우 HTTP 상태 코드 304를 리턴하여 브라우저에게 로컬 캐시된 사본을 사용하도록 지시할 수 있습니다.

웹 서버 및 서버 간의 이러한 상호작용으로 인해 영(0) 길이의 응답 본문을 가진 REQ/RSP 쌍이 발생합니다.

이 이벤트 시퀀스는 웹 서버에 REQ를 실행하지 않으면서 브라우저의 뒤로 단추를 누르고 로컬 메모리 캐시에서 페이지를 가져오는 것과 다릅니다.

브라우저가 로컬 캐시에서 오브젝트 사본을 발견한 경우 해당 요청에 If-Modified-Since 헤더만 포함합니다. 따라서 해당 동작은 캐시할 수 있는 파일에만 적용됩니다.

 

처리 방법이 전적으로 브라우저에 달려 있지만 캐시가 반드시 인메모리 캐시일 필요는 없습니다.

Internet Explorer의 경우 캐시된 파일은 로컬 디스크에 임시 인터넷 파일로 저장되고 사용자가 IE의 인터넷 옵션에서 해당 파일을 명시적으로 삭제할 때까지 남아 있습니다.

따라서 브라우저를 중지하고 다시 열어도 304가 방지되지 않습니다.

재생 옵션 탭에서 원격 304 페이지 로드 선택란을 선택한 경우 If-Modified-Since 헤더를 포함하지 않는 단순한 GET 요청을 실행하여 웹 서버가 304 응답보다 오브젝트를 리턴합니다.

그러나 뷰어가 최초 방문자에게 표시되는 동일 오브젝트를 검색하지 않을 수 있습니다.

그 결과 발생한 경로 재지정(예: 홈 페이지로 경로 재지정)이 세션을 재생할 때 바로 표시되지 않습니다.

대개 이 옵션을 사용 안함으로 설정하고 있기 때문입니다.

원본 문서 IBM

Exit mobile version