경우에 따라 GET 요청 다르게 보내기(Conditional get request)

HTTP 프로토콜에서는 캐싱을 위해 서버에서 받은 자원이 그 후로 변경이 되었는지 확인하는 정보를 주고 받을 수 있다.

처음 자원을 요청할 때는 당연히 요청만 하고, 두번째 요청 때는 첫번 째 요청의 응답에 함께 온 헤더 정보를 참고하여, 변경사항이 있는지 물어본다.

최초 요청 시에는 아래와 같이 요청만 할 것이다.

GET /sample.html HTTP/1.1
Host: example.com

이에 대한 응답을 받으면 캐싱에 중요한 정보(Last-Modified, eTag 등)를 저장한다. 그 후에는 아래와 같이 추가적인 정보와 함께 재 요청하게 된다.

GET /sample.html HTTP/1.1
Host: example.com
If-Modified-Since: Wed, 01 Mar 2016 13:24:52 GMT
If-None-Match: “c1d4a244”

서버는 추가적인 정보를 바탕으로 자원에 변경사항이 있다면 자원을 포함한 응답을, 변경사항이 없다면 304 상태 코드를 내려줄 수 있다.

참조

댓글 남기기

이메일은 공개되지 않습니다.

This site uses Akismet to reduce spam. Learn how your comment data is processed.