HTTP 프로토콜에서 304 Not Modified 메세지 나오게 하는 방법 아시는 분
글쓴이: mandugukbap / 작성시간: 일, 2007/10/28 - 12:16오전
telnet으로 사용 웹 서버에 연결해서 304 Not Modified 메세지를 받아내 보라는 문제를 받았습니다. If-Modified-Since 헤더를 이용하면 어렵지 않게 받을 거라고 생각했는데 1시간을 끙끙 거려도 못 받아 내겠더군요.
telnet www.google.com 80
GET / HTTP/1.1
Host: www.google.com
If-Modified-Since: Sat, 27 Oct 2007 13:15:49 GMT
이렇게 바로 1초전의 시간으로 request를 해도 200 OK 가 떨어지더군요. 혹시 캐시와 관련이 있을까 싶어서 Cache-Control: no-cache 로 지정했는데도 마찬가지구요.
뭐 이런 황당한 문제를 가지고 씨름 하시냐고 하시는 분도 계시겠는데 꼭 알아야만 하는 문제라서 이렇게 여쭙습니다. 답변 부탁 드리겠습니다.
Forums:
동적 페이지에 대한 요청이라 서버에서 캐시를 하지 않는것 같습니다
일단 HTTP 200 응답에서 Last-Modified 나 ETag 값이 있는지 확인해 보세요. 동적으로 생성되는 페이지는 저 값이 없습니다.
Last-Modified 값이 있으면 If-Modified-Since로 최종 수정시간 이 후의 값을 주면 되고, ETag 값이 있으면 서버에서 값으로 준 스트링 그대로
If-None-Match로 주면 됩니다.
보통 둘 중 하나만 만족하면 HTTP 304 응답이 올겁니다.
감사합니다.
index.php가 서버에서 동적으로 파싱해서 보내주는 파일이기 때문에 그렇군요. png 파일을 불러 읽으려고 시도하니 금방 304에러가 나오는군요. 감사 합니다.
댓글 달기