2021년 9월 13일에 작성된 문서 9번 입니다.
http 배운 내용을 정리했습니다.
클라이언트, 혹은 반대로는 서버가 다른 네트워크에 간접적으로 접속 할 수 있기 때문에, 보안, 캐싱을 통한 성능, 트래픽 분산 등의 장점을 가집니다.
한국에 있는 클라이언트에서 특정 데이터가 필요한 상황인데 해당 데이터의 원 서버가 미국에 있다고 가정.
한국에 프록시 캐시서버를 두고 한국의 클라이언트는 프록시 캐시서버를 통해 자료를 가져오도록 해봅시다.
캐시 지시어 | 설명 |
---|---|
Cache-Control: public | 응답이 퍼블릭 캐시에 저장되도 됨 |
Cache-Control: private | 응답이 해당 사용자만을 위함. 프라이빗 캐시에 저장해야함. |
Cache-Control: s-maxage | 프록시 캐시에만 적용되는 max-age |
Age: 60 | 오리진 서버에서 응답후 프록시 캐시에 머문시간(초) |
캐시 지시어 | 설명 |
---|---|
Cache-Control: no-cache | 데이터는 캐시해도 되지만, 원서버에 검증하고 사용 |
Cahce-Control: no-store | 데이터에 민감한 정보가 있어 저장하면 안됨. 메모리에서 사용하고 최대한 빨리 삭제 |
Cache-Control: must-revalidate | 캐시 만료후, 최초 조회시, 원서버에 검증해야 함. |
원서버 접근 실패시, 반드시 오류 발생해야함 504 gateway-timeout | |
캐시 유효 시간이라면 캐시 사용 | |
Pragma: no-cache | HTTP 1.0 하위 호환 |
통장 잔고 등 중요한 정보가 원 서버를 못 받았다고 해서 예전 데이터로 뜬다면 큰 문제가 생기기때문에 이런 경우 must-revalidate를 써야 합니다.
Written with StackEdit.