English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
最もよく使用される2つのHTTPメソッドは:GETとPOSTです。
超テキスト传输プロトコル(HTTP)の設計目的は、クライアントとサーバー間の通信を保証することです。
HTTPはクライアントとサーバー間のリクエストを行います-応答プロトコル。
ウェブブラウザはクライアントとして、コンピュータ上のネットワークアプリケーションもサーバーサイドとして機能することがあります。
例:クライアント(ブラウザ)がサーバーにHTTPリクエストを提出;サーバーがクライアントに応答を返します。応答には、リクエストの状態情報と要求された内容が含まれます。
クライアントとサーバー間でのリクエストを行います-応答時には、最もよく使用される2つの方法は:GETとPOSTです。
GET - 指定されたリソースからデータを要求します。
POST - 指定されたリソースに処理されるデータを提出します。
次に注目してください、クエリ文字列(名称/値対()はGETリクエストのURLで送信されます:
/run/demo-form.php?name1=value1&name2=value2
GETリクエストに関する他のいくつかの注釈:
GETリクエストはキャッシュできます
GETリクエストはブラウザの履歴記録に保存されます
GETリクエストはブックマークとして保存できます
GETリクエストは機密データの処理には使用されませんべきです
GETリクエストには長さの制限があります
GETリクエストはデータの取得にのみ使用されるべきです
次に注目してください、クエリ文字列(名称/値対()はPOSTリクエストのHTTPメッセージボディで送信されます:
POST /run/demo-form.php HTTP/1.1
Host: oldtoolbag.com
name1=value1&name2=value2
POSTリクエストに関する他のいくつかの注釈:
POSTリクエストはキャッシュされません
POSTリクエストはブラウザの履歴記録に保存されません
POSTはブックマークとして保存できません
POSTリクエストにはデータ長さの制限はありません
以下のテーブルでは、2つのHTTPメソッド:GETとPOSTを比較しています。
GET | POST | |
---|---|---|
戻るボタン/リフレッシュ | 無害 | データが再送信されます(ブラウザはユーザーにデータが再送信されることを通知するべきです)。 |
ブックマーク | ブックマークとして保存可能 | ブックマークとして保存できない |
キャッシュ | キャッシュ可能 | キャッシュできない |
エンコード形式 | application/x-www-form-urlencoded | application/x-www-form-urlencodedまたはmultipart/form-data。バイナリデータには多重エンコーディングを使用します。 |
履歴 | パラメータはブラウザの履歴に保持されます。 | パラメータはブラウザの履歴に保存されません。 |
データの長さの制限 | はい。データを送信する際に、GET メソッドはデータを URL に追加し、URL の長さは制限されています(URL の最大長は 2048 文字()。 | 制限はありません |
データタイプの制限 | ASCII 文字のみが許可されています | 制限はありません。バイナリデータも許可されています |
安全性 | POST に対して、GET は安全性が低いです、なぜなら、送信されるデータが URL の一部になるからです パスワードや他の敏感情報を送信する際は、絶対に GET を使用しないでください! | POST は GET より安全です、なぜなら、パラメータがブラウザの履歴やウェブサーバーのログに保存されないからです |
可視性 | データは URL にすべての人に見られます | データは URL に表示されません |
以下のテーブルには、他のいくつかの HTTP リクエストメソッドが示されています:
メソッド | 説明 |
---|---|
HEAD | GET と同じだが、HTTP ヘッダーのみを返し、ドキュメント本体は返さない |
PUT | 指定された URI 表現をアップロードする |
DELETE | 指定されたリソースを削除する |
OPTIONS | サーバーがサポートする HTTP メソッドを返す |
CONNECT | リクエスト接続を透過的な TCP に変換する/IP チャネル。 |