2017-10-03 9 views
1

HTTPクライアントをビルドしようとしていますが、なぜ "304、not modified"というコードが表示されないのかわかりません。ファイルの最終更新日は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 

と参照用のJavaコードで、私はソケットを使用しています。

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から取られた)構文があります:

場合 - 変更 - 開始:1日-名、日月年時:分:秒GMT

例:

IF-変更後:Wed、2015年10月21日07:28:00 GMT

+0

鯉、忘れてしまった、ええ、私の日付は、GMTではない、私のタイムゾーンでした、ありがとう! – shadowforce100

+0

それは起こる。問題ない! – davidmerrick

関連する問題