1. ホーム
  2. http

HTTPリクエストに最低限必要なものは何ですか?

2023-11-09 20:55:49

質問

を使ってローカルサーバにGETコマンドを発行しようとしています。 netcat を使って、以下のようにしています。

echo -e "GET / HTTP/1.1\nHost: localhost" | nc localhost 80

残念ながら、私は HTTP/1.1 400 Bad Request のレスポンスが返ってきます。HTTP リクエストに最低限必要なものは何でしょうか?

どのように解決するのですか?

改行コードにCRLFを使用し、末尾に \r\n\r\n で終わらせなければなりません。これは私が使っているものです。

printf 'GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: close\r\n\r\n' |
  nc www.example.com 80

さらに、私は printf よりも echo を追加し、サーバーが接続を閉じるように余分なヘッダを追加していますが、これらは必要ありません。