一般的なHTTPリクエストは、4つのコンテンツタイプに分類:アプリケーション/ JSON、x-www-form-urlencodedで、マルチパート/フォームデータ、テキスト/平野。
フォームデータをエンコードする方法をサーバーに送信される前に、enctype属性を指定します。デフォルトでは、フォームデータは、 "アプリケーション/ x-www-form-urlencodedで" として符号化されます。これは、サーバーに送信される前に、すべての文字が(ASCIIのHEX値にスペースに変換「+」プラス、特殊記号)符号化されている、です。
利用可能なオプションをenctye次のとおりです。
1概要
HTTPで指定されたHTTPリクエストメソッド/ 1.1プロトコルOPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECTこれらの型を有しています。ここでPOSTは通常、サーバにデータを送信するために使用され、POSTに本論文で説明する方法は、データを提出します。
HTTPプロトコルは、ASCIIコードの送信に基づいています。彼は標準化されたアプリケーション層TCP / IPプロトコルに基づいており、HTTP要求が所定の三つの部分に分かれています。
。ステートライン
。リクエストヘッダヘッダ
。エンティティボディのメッセージ本文
それは次のようになります。
HTTP POSTデータ送信契約は、メッセージ本体(エンティティボディ)内に配置されなければならないが、使用コードする任意の所定のデータを有していません。実際には、開発者は、要求があれば、上記のフォーマットができ会うと最後の送信されたメッセージのボディ、HTTPのフォーマットを決定することができます。
単数形は、データが送信され、だけでなく、サーバーに正常に理にかなって解決しました。こうしたPHP、Pythonの、並びにそれらの枠組みとして、一般的なサービス側言語は、自動的に共通のデータフォーマット機能を解決するために構築されています。サーバは、典型的には、Content-Typeフィールドのリクエストヘッダに応じてリクエストのメッセージ・ボディ(ヘッダー)に符号化方法であって、その後、被験者を解析し学習します。だから、次は正式に彼らのプレゼンテーションを開始した、POSTデータは、Content-Typeの2つの部分のメッセージ本文のエンコードが含まれて提出してください。
2はじめに
1)アプリケーション/ x-www-form-urlencodedで
データのデフォルトのHTTP提出。ネイティブブラウザの<form>フォーム、そうでない場合はセットenctype属性は、最終的なデータは、アプリケーション/ x-www-form-urlencodedで仕方に提出されます。要求は、次のようになります。
Etherealの結果により、我々は以下の結論が得られます 。Content-Typeのは、ファイルアプリケーション/ x-www-form-urlencodedでに指定されています 。送信されたデータは、係るVAL1的KEY1 =&KEY2 = VAL2キーの符号化、およびURLヴァルトランス行きました。ほとんどのサーバーサイドの言語は、このアプローチのために非常に良いサポートを持っています。
2)マルチパート/フォームデータ
POSTデータの一般的な方法は、提出しました。我々はファイルをアップロードするためのフォームを使用するときは、enctypeをマルチパート/フォームデータを設定する必要があります。
3)アプリケーション/ JSON
要求ヘッダーとしてアプリケーション/ JSONは、サーバ・メッセージ・ボディを伝えるために使用されるJSON文字列をシリアル化されています。便利なデータは、複雑な構造、特に適切なRESTfulなインターフェースを提出しました。最後のリクエストは、次のようになります。
主要なキャプチャツールは、Chromeデベロッパーツール、Firebugは、フィドラーとして来る非常に友好的、ツリー構造でJSONデータを紹介します。最後の要求が送信されます。
4)テキスト/ XML
XML-RPC(XMLリモートProcdureコール)。これは、トランスポートプロトコル、リモート呼び出し規約のエンコーディングとしてXMLとしてHTTPを使用しています。典型的なXML-RPC要求があるようです。
XML-RPCプロトコルは、さまざまな言語を達成するために、機能の十分なシンプルさです。その使用は、そのような検索エンジンのpingサービスとして、非常に広いです。