💻본 포스팅은 '모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한'님의 강의를 듣고 작성되었습니다.
https://inf.run/kXeZ
[캐시 무효화]
- 저장되면 곤란한 정보를 캐시로 저장하지 않기 위해서 하는 방법은 4가지가 있다.
[Cache-Control]
확실한 캐시 무효화 응답
- Cache-Control: no-cache, no-store, must-revalidate
- Pragma: no-cache
- HTTP 1.0 하위 호환
[Cache-Control]
캐시 지시어(directives) - 확실한 캐시 무효화
- Cache-Control: no-cache
- 데이터는 캐시해도 되지만, 항상 원 서버에 검증하고 사용(이름에 주의!)
- Cache-Control: no-store
- 데이터에 민감한 정보가 있으므로 저장하면 안됨 (메모리에서 사용하고 최대한 빨리 삭제)
- Cache-Control: must-revalidate
- 캐시 만료후 최초 조회시 원 서버에 검증해야함
- 원 서버 접근 실패시 반드시 오류가 발생해야함 - 504(Gateway Timeout)
- must-revalidate는 캐시 유효 시간이라면 캐시를 사용함
- Pragma: no-cache
- HTTP 1.0 하위 호환
[no-cache vs must-revalidate]
네트워크가 단절되어서 원서버에 접근할 수 없는 경우에 둘의 차이점은?
- no-cache
- 오류보다는 오래된 데이터라도 보여주자는 태도로 Error or 200(서버 성공) OK
- must-revalidate
- 매우 중요한 돈과 관련된 결과를 처리할 때 사용한다고 생각하면 편하다.
- 504 Gateaway Timeout!!
- 원서버에 접근할 수 없다면 항상 오류가 발생해야 한다.
'Back-End > HTTP' 카테고리의 다른 글
[HTTP 완벽 가이드][웹의 기초] 2.URL과 리소스 (0) | 2022.04.20 |
---|---|
[HTTP 완벽 가이드][웹의 기초] 1. HTTP 웹의 기초 (0) | 2022.04.08 |
[HTTP][캐시와 조건부 요청] - 프록시 캐시 (0) | 2022.02.27 |
[HTTP][캐시와 조건부 요청] - 캐시 제어 헤더 (0) | 2022.02.27 |
[HTTP][캐시와 조건부 요청] - 검증 헤더와 조건부 요청 (0) | 2022.02.27 |