• 締切済み

HTTPリクエストにおいて送信できるHTTPヘッダ

HTTPに明るいかたに質問です。 下記URLにHTTPヘッダーに含めることのできる文字はASCIIを拡張した8bitASCIIだと 記載があります。 参考URL http://www.studyinghttp.net/header#Utf8InParam このURLにはHTTPヘッダ、特にPOSTメソッドでリクエストを投げる際は、 パーセントエンコーディング(URLエンコードとは言わないのですね・・・。💦) をおこなって、拡張ASCIIの8bitで対応できる文字として符号化して送信するような記述があります。 たしかに、IEなどの特定のブラウザだとアンカータグのhref属性に日本語のパラメータをいれたリンク先をつくると 正しく送信できないときがあったような気もします。 もちろんHTTPの仕様がパーセントエンコーディングとなっている以上、それが正しいやりかたなのでしょうが、 考えればUTF-8なども8bit単位で符号されて 結果【あ】という文字は[¥xe3¥x81¥x82]という16進数のバイト列で表現できていますよね。 ということは、文字列を正しく符号化していえれば拡張ASCIIつまり8bitの範囲でおさめる事ができているのではとおもったのです。 パーセントエンコーディングも必要ないのではと思うのですが・・・。 上記に造詣の深い方、是非ご教授ください。 よろしくお願いします。

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

POSTは、HTTP要求ヘッダには関係ありません。 インターネットに限らず、ヘッダと空行に続いて本文で送受信されます。 POSTは、本文(本体)として標準入力に渡されます。 以前回答した  ⇒POSTしたデータの文字コードがutf-8になる - HTML - 教えて!goo( http://okwave.jp/qa/q7661616.html )

関連するQ&A