캐시 시간 초과
- 캐시 유효 시간이 초과해서 서버에 다시 요청하면 두 가지 상황이 발생 할 수 있다.
1. 서버에서 기존 데이터를 변경함
2. 서버에서 기존 데이터를 변경하지 않음
기존이랑 같은 데이터를 받는 것은 비효율적이라는 생각에서 나온 것이 검증헤더, 조건부 요청이다.
캐시 시간 초과
- 캐시 만료후에도 서버에서 데이터를 변경하지 않음
- 생각해보면 데이터를 전송하는 대신에 저장해 두었던 캐시를 재사용 할 수 있다.
- 단 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인할 수 있는 방법 필요.
검증 헤더
처음 요청을 하면 서버에서
Last-Modified 헤더에서 최종 수정된 시간을 알려준다.
그때 웹 브라우저에서 응답 결과를 캐시에 저장하고
데이터의 최종 수정일을 기록한다.
캐시 시간이 초과되고
캐시가 최종 수정일을 가지고 있다면
if-modified-since 헤더를 사용하여 최종 수정일을 포함하여 서버에 요청을 한다.
서버에서 요청을 받아보니
서버의 최종수정일을 보고 서버는 판단할 수 있게된다.

수정이 안되면 응답을 만들때 304 Not Modified를 보낸다.
변경된 점이 없다는 뜻이고 HTTP 바디가 없다.
1.1M -> 0.1M
수정된것이 없기 때문에 헤더만 보내게된다.
검증 헤더와 조건부 요청
검증 헤더 : Last-Modified
조건부 요청 : if-modified-since
- 캐시 유효 시간이 초과해도, 서버의 데이터가 갱신되지 않으면
304 Not Modified + 헤더 메타 정보만 응답
- 클라이언트는 서버가 보낸 응답 헤더 정보롤 캐시의 메타 정보를 갱신
- 클라이언트는 캐시에 저장되어 있는 데이터 재활용
- 결과적으로 네트워크 다운로드가 발생하지만 용량이 적은 헤더 정보만 다운로드
'웹프로그래밍 > 웹 기본 지식' 카테고리의 다른 글
| 35. 캐시와 조건부 요청 헤더 (0) | 2022.03.10 |
|---|---|
| 34. 검증 헤더와 조건부 요청2 (0) | 2022.03.09 |
| 32. HTTP 헤더2 캐시와 조건부 요청 (0) | 2022.03.09 |
| 31. 쿠키 (0) | 2022.03.08 |
| 30. 인증 (0) | 2022.01.12 |