캐시 토폴로지
개인 전용 캐시
- 한 명의 사용자에게만 할당. 작고 저렴
- 웹브라우저는 개인 전용 캐시를 내장. 자주 쓰는 문서를 개인용 컴퓨터의 디스크와 메모리에 캐시해 둠.
공용 프락시 캐시
- "캐시 프락시 서버" 혹은 "프락시 캐시"라고 부르는 공유된 프락시서버
- 계층화해서 레벨1, 2 캐시와 같이 구성할 수도 있다
캐시제어
- 문서가 만료되기 전까지 얼마나 오랫동안 캐시될 수 있게 할 것인지 서버가 설정할 수 있도록 함.
- Cache-control: no-store 가 표시된 응답
- 캐시가 그 응답의 사본을 만드는 것을 금지
- 캐시가 검증되지 않은 캐시된 객체로 응답하는 것을 막음
- Cache-control: no-cache
- 로컬 캐시 저장소에 저장될 수 있다.
- 서버와 재검사를 하지 않고서는 캐시에서 클라이언트로 제공될 수 없다.
- 캐시가 검증되지 않은 캐시된 객체로 응답하는 것을 막음
- Cache-control: max-age=3600
- 초단위
- 캐시가 fresh 하다고 여겨지는 시간
- Cache-control: must-revalidate
- 일반적으로 캐시는 성능향상을 위해 만료된 객체를 제공하기도 하지만 이와 같은 표시를 하면 캐시가 만료 정보를 엄격하게 따른다.
- Expires: Fri, 05 Jul 2002, 05:00:00 GMT
- 객체가 deprecated되는 만료날짜
- 아무 만료 정보도 주지 않고, 캐시가 스스로 휴리스틱 방법으로 결정하게 할 수 있다.
- 응답이 Expires나 max-age헤더 중 어느 것도 포함하지 않고 있다면 휴리스틱 방식으로 최대 나이 계산함.
- LM알고리즘..
위와 같은 캐시제어는 웹서버 설정 파일로 default 설정을 해줄 수 있다.
어떤 광고는 광고가 보여질 때마다 과금이 된다. 그런데 광고 객체가 캐싱됐다면 서버에선 몇 번 광고가 보여진지 모를 수 있다. 이에 대한 대응으로 광고 객체를 캐시되지 않도록 처리하는 경우가 왕왕 있었는데, 저자는 바람직하지 않다고 한다. 캐시 서버에서 캐시 적중에 대한 로그를 받아서 과금하는 방식을 사용하는 것이 이상적이라고 한다.
'웹 > 책 & 강의' 카테고리의 다른 글
HTTP 완벽가이드 - 나머지 (리디렉션, 부하균형) (0) | 2022.01.20 |
---|---|
HTTP 완벽가이드 - 8장 ( 통합점: 게이트웨이, 터널, 릴레이 ) (0) | 2022.01.20 |
HTTP 완벽가이드 - 6장 (프락시) (0) | 2022.01.09 |
HTTP 완벽가이드 - 5장 (웹 서버) (0) | 2022.01.09 |
HTTP 완벽가이드 - 4장 (커넥션 관리) (0) | 2022.01.09 |