HTTP TIL 11

Nabang Kim·2021년 9월 14일
0

HTTP

목록 보기
11/13
post-thumbnail

2021년 9월 13일에 작성된 문서 6번 입니다.
http 배운 내용을 정리했습니다.



캐시

캐시가 없는 경우

클라이언트가 logo.jpg 이미지에 대한 요청을 보내고 서버가 해당 이미지에 대한 응답을 줄 때, HTTP 헤더가 0.1M, 바디가 1.0M로 총 1.1M로 가정해보겠습니다.

  • 데이터가 변경되지 않아도 계속 네트워크를 통해 데이터를 다운 받아야한다.
  • 인터넷 네트워크 속도가 느리고 비싸다.
  • 브라우저 로딩속도가 느리다.
  • 느린 사용자 경험을 제공한다.



캐시를 적용한 경우

캐시(cache): 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소.

  • 캐시 접근 시간에 비해 원래 데이터 접근 시간이 오래 걸리는 경우
  • 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용.
  • 캐시에 데이터를 미리 복사해 놓으면 더 빠른 속도로 데이터에 접근할 수 있다.
  • 브라우저에 캐시를 저장: 헤더에 cache-control 속성
    • 캐시가 유효한 시간을 지정.

      60초로 설정한다면 60초 동안은 해당 캐시가 유효


응답을 받았을 때 브라우저 캐시에 해당 응답 결과를 저장하며 이는 60초간 유효합니다.



캐시를 적용한 경우 : 캐시 시간 초과

  • 두 번째 요청에선 캐시를 우선 조회.
  • 캐시가 존재하고 아직 60초가 지나지 않아 유효한 캐시라면 해당 캐시에서 데이터를 가져온다.

만약 캐시의 유효시간이 초과한다면 어떻게 될까요?


  • 다시 서버에 요청을하고 60초간 유효한 logo.jpg 이미지를 응답받는다.
  • 이때 다시 네트워크 다운로드가 발생.

  • 응답 결과를 브라우저가 렌더링하면 브라우저 캐시는 기존 캐시를 지우고 새 캐시로 데이터를 업데이트.
  • 이 과정에서 캐시 유효 시간이 다시 초기화.






Written with StackEdit.

0개의 댓글

관련 채용 정보