2017-10-03 4 views
1

안녕하세요, HTTP 클라이언트를 작성하려고하는데 "304, 수정되지 않은"코드가 표시되지 않는 이유를 모르겠습니다. 파일의 최종 수정 날짜는 2007 년이며 나중에 10 년 후에 액세스합니다.HTTP가 돌아 오지 않습니다. 304

여기서 출력

HTTP/1.1 200 OK 
Date: Tue, 03 Oct 2017 21:50:33 GMT 
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips 
Last-Modified: Fri, 31 Aug 2007 04:21:06 GMT 
ETag: "c12-438f726ceb080" 
Accept-Ranges: bytes 
Content-Length: 3090 
Content-Type: image/gif 

및 I 소켓을 사용하고 참조 자바 코드이다.

Date d = new Date(); 
outputStream.print("HEAD "+ "/" + pathName + " HTTP/1.1\r\n"); 
outputStream.print("If-Modified-Since: " + d.toString() + "\r\n"); 
outputStream.print("Host: " + hostString+"\r\n"); 
outputStream.print("\r\n"); 
outputStream.flush(); 

어떤 도움을 받으실 지 모르겠지만, 저는 HTTP 클라이언트가 처음입니다.

+0

요청 및 응답 헤더의 모양을 표시하려면 Wireshark 또는 Fiddler와 같은 것을 사용하는 것이 좋습니다. –

답변

2

"If-Modified-Since"헤더에 사용하는 날짜의 형식을 지정해야 할 수 있습니다. 다음 (here에서 가져온) 구문입니다 :

는 IF-수정 - 이후 : 1 일 이름, 일 월 년시 : 분 : 초 GMT

예 :

의 If 수정 된 날짜 : Wed, 2015 년 10 월 21 일 07:28:00 GMT

+0

잉어, 확인하는 것을 잊어 버렸습니다. 참으로 내 데이트는 GMT가 아닌 제 시간대였습니다. 고맙습니다. – shadowforce100

+0

그런 일이 일어납니다. 문제 없어! – davidmerrick

관련 문제