Network/HTTP

[HTTP]캐시와 조건부1

seung_soos 2023. 4. 13. 15:12

캐시 미적용

캐시가 없을경우 1.1M의 JPG를 다운로드받는다.

두번째 요청시에도 동일하게 다운로드 받는다.

  • 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야한다.
  • 인터넷 네트워크는 매우 느리고 비싸다.
  • 브라우저 로딩 속도가 느리다.

캐시 적용

첫번째 요청시 응답결과를 캐시에 저장한다.

두번째 요청시 캐시에서 조회가가능하다.

  • 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다.
  • 비싼 네티워크 사용량을 줄일 수 있다.
  • 브라우저 로딩 속도가 매우 빠르다.

캐시 시간초과

  • 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신한다.
  • 캐시 유효 시간이 초과해서 서버에 다시 요청하면 두가지 상황이 나타난다.
    1. 서버에서 기존데이터를 변경함.
    2. 서버에서 기존데이터를 변경하지 않음.
  • 캐시 만료후에도 서버에서 데이터를 변경하지 않음.
  • 데이터를 전송하는 대신에 저장해 두었던 캐시를 재사용 할 수 있다.
  • 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인할 수 있는 방법 필요

  • HTTP 헤더에 Last-Modified 시간 설정

캐시 만료 후 조회시 웹 브라우저 요청시 데이터 최종수정일을 서버에 전송한다.

서버와 캐시의 데이터 수정일이 동일할 경우

  • HTTP응답시 304 NoT Modified 헤더 메타정보만 응답
  • HTTP Body 없음
  • 캐시를 재사용한다.

 

강의출처 : https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard