1

サーバー上にないファイルに対してブラウザが HTTP GET を実行しようとした場合、次のように記述します。

HTTP/1.0 404 が見つかりません\r\n\r\n

ポートへ。私のブラウザの Web コンソールでは、エラーが認識される場合と認識されない場合があります。代わりに、テキストがブラウザ ウィンドウに表示されます。なぜこれが起こるのですか?

curl を使用すると、応答は常に同じように見えるのに、ブラウザーでこれを行うのはなぜですか?

4

1 に答える 1

1

ほとんどの Web ブラウザーはContent-Length:、すべての応答でヘッダーを想定しているようです。何も返信しなくても; Host:唯一の必須ヘッダーはリクエストのみで、HTTP 1.1 のみであるため、これはかなり面白いです。

私は Firefox でテストしましたが、動作させるには以下を書き留める必要がありました。

HTTP/1.0 404 Not Found\r\n
Content-Length: 0\r\n\r\n

そして、ブラウザは接続を閉じる必要があります。libcurl を使用している場合、たとえば、これと他のヘッダーも挿入されている可能性がありDate:ます。

于 2012-04-24T22:42:27.560 に答える