캐시와 관련된 HTTP 헤더들
1. Expires 헤더
- Expires 헤더는 응답 헤더에 포함되는 내용으로, 웹서버에서 현재 파일이 언제까지 유효한지 알려주는 역할
- Expires를 설정하면 브라우저에는 캐시로 해당 파일을 저장하고 있다가, Expires 날짜가 지나기 전에 다시 같은 파일에 접근하고자 할 때 웹서버로 요청을 보내는 것이 아니라, 저장하고 있는 파일을 그대로 사용! 이 경우에는 웹서버로 HTTP GET 요청을 보내지 않기 때문에 추가적인 TCP 연결이나 HTTP 요청/응답 전문에 대한 처리가 필요없음! 따라서 사용자가 두 번째로 웹페이지에 방문하면 사용자 경험이 크게 향상 됨
2. Etag 헤더
- 파일별로 유일한 값을 가지는 해시값을 헤더로 보관하고 있으며, 브라우저에서는 현재 가지고 있는 파일의 정보를 ETag 헤더에 넣어 웹서버로 보낸다. 이후 웹서버에서는 웹서버에 있는 파일의 ETag 값을 빅해서 만일 같다면 HTTP 304 Not Modified를 응답 전문으로 보낸다. 브라우저가 HTTP 304 Not Modified를 수신하면 파일이 수정되지 않았음을 인지하고 별도로 파일을 내려받지 않고 기존에 가지고 있던 파일을 그대로 사용한다.
캐시와 SPA의 상관관계?!?!?