2最も使用されるHTTPメソッドは次のとおりです:GETとPOST。
HTTPとは何ですか?
ハイパーテキスト転送プロトコルは、(HTTP)クライアントとサーバ間の通信を可能にするように設計されています。
HTTPは、クライアントとサーバとの間の要求 - 応答プロトコルとして働きます。
ウェブブラウザは、クライアントとすることができ、ウェブサイトをホストするコンピュータ上のアプリケーションは、サーバであってもよいです。
例:クライアント(ブラウザ)がサーバーにHTTP要求を送信します。 サーバはクライアントに応答を返します。 応答は、要求のステータス情報を含み、また、要求されたコンテンツを含んでいてもよいです。
2つのHTTPリクエストメソッド:GETとPOST
クライアントとサーバ間の要求と応答のための2つの一般的に用いられる方法は、次のとおりです。GETとPOST。
- GET -指定されたリソースからのリクエストデータ
- POST -指定されたリソースに加工することに提出するデータ
GETメソッド
クエリ文字列(名前/値のペア)がGETリクエストのURLに送信されることに注意してください:
/test/demo_form.asp?name1=value1&name2=value2
GET要求のいくつかの他の注意事項:
- 要求がキャッシュできGET
- 要求は、ブラウザの履歴に残るGET
- 要求はブックマークが可能GET
- 機密データを扱う際の要求が使用されることはありませんGET
- GETリクエストは、長さの制限を持っています
- 要求は、データを取得するためにのみ使用されるべきでGET
POSTメソッド
クエリ文字列(名前/値のペア)はPOSTリクエストのHTTPメッセージの本文で送信されることに注意してください:
POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2
POSTリクエストのいくつかのその他の注意事項:
- POSTリクエストはキャッシュされることはありません
- POSTリクエストは、ブラウザの履歴に残りません
- POSTリクエストは、ブックマークすることができません
- POSTリクエストは、データの長さに制限はありません
POST対GET比較
次の表は、2つのHTTPメソッドを比較:GETとPOST。
取得する | 役職 | |
---|---|---|
BACKボタン/リロード | 無害の | データが再送信されます(ブラウザは、データが再提出されようとしていることをユーザーに警告する必要があります) |
ブックマークさ | ブックマークが可能 | ブックマークされたことはできません |
キャッシュされました | キャッシュすることができます | キャッシュされていません |
エンコーディングタイプ | アプリケーション/ x-www-form-urlencodedで | アプリケーション/ x-www-form-urlencodedでまたはマルチパート/フォームデータ。 バイナリデータのためのマルチパートのエンコードを使用します |
歴史 | パラメータは、ブラウザの履歴に残ります | パラメータは、ブラウザの履歴に保存されません |
データ長の制限 | データを送信するときにはい、GETメソッドはURLにデータを追加します。 そして、、URLの長さが制限されています(URLの最大長は2048文字です) | 無制限 |
データ型の制限事項 | ASCII文字のみが許可されます | 無制限。 バイナリデータも許可されています |
セキュリティ | 送信されたデータはURLの一部であるため、GETはPOSTに比べて安全性が低いです パスワードやその他の機密情報を送信するとき、GETを使用しないでください! | パラメータは、ブラウザの履歴にまたはWebサーバーのログに格納されていないため、POSTはGETよりも少し安全です |
可視性 | データはURL内のすべてのユーザーに表示されます | データは、URLに表示されません |
その他のHTTP要求メソッド
次の表は、いくつかの他のHTTPリクエストメソッドを示します:
方法 | 説明 |
---|---|
HEAD | GETと同じですが、唯一のHTTPヘッダと全く文書本体を返しません |
PUT | 指定されたURIの表現をアップロード |
DELETE | 指定されたリソースを削除します。 |
OPTIONS | サーバーがサポートするHTTPメソッドを返します。 |
CONNECT | 透明TCP / IPトンネルへの要求の接続に変換 |