HTMLのGETメソッドとPOSTメソッドの違い
コンテンツ
GETとPOSTは、サーバーとブラウザーへのデータがサーバーと通信するために必然的にこれらを必要とする2つの効率的な手法です。 GETメソッドはエンコードされたデータをURIに追加しますが、POSTメソッドの場合、データはURIではなく本文に追加されます。さらに、GETメソッドはデータの取得に使用されます。逆に、POSTメソッドはデータの保存または更新に使用されます。
の 形 タグは、フォームのコンテンツを表現するために使用されます。これはまたとして知られています フォームコントロール。これらのフォームには関連データが入力され、その後の処理のためにリモートマシンに送信されます。フォームの機能には2つの重要な要素が含まれます。前者は、フォームのコンテンツを処理するプログラムのアドレス指定です。 アクション。後でメソッドの仕様があり、その中でフォームデータが流れます。 方法 属性。
ACTION属性は、HTMLフォームの処理方法を記述します。 METHOD属性は、データの送信プロセスを管理します。 GETおよびPOSTメソッドは、METHOD属性の下にあります。
-
- 比較表
- 定義
- 主な違い
- 例
- 結論
比較表
比較の根拠 | 取得する | 役職 |
---|---|---|
パラメータは内部に配置されます | URI | 体 |
目的 | 文書の検索 | データの更新 |
クエリ結果 | ブックマークすることができます。 | ブックマークできません。 |
セキュリティ | 脆弱性、平易な存在として | GETメソッドより安全 |
フォームデータタイプの制約 | ASCII文字のみが許可されます。 | 制約はありません。バイナリデータも許可されています。 |
フォームデータ長 | できるだけ最小限に抑える必要があります。 | 任意の範囲にある可能性があります。 |
可視性 | 誰でも見ることができます。 | URLに変数を表示しません。 |
可変サイズ | 2000文字まで。 | 最大8 Mb |
キャッシング | メソッドデータをキャッシュできます。 | データをキャッシュしません。 |
GETメソッドの定義
GETメソッド HTMLドキュメントを取得するためにWebサーバーからURLを要求するために使用されます。ブラウザがHTTPプロトコルの一部としてカウントされた情報を配信するための従来の方法です。ブックマークできるように、URLの形式で表されるGETメソッド。 GETは、検索エンジンで広く使用されています。ユーザーによる検索エンジンへのクエリの送信後、エンジンはクエリを実行し、結果のページを提供します。クエリ結果はリンクとして設定できます(ブックマーク)。
GETメソッドを使用すると、アンカーを生成できます。これにより、フォームを使用せずにクエリでCGIプログラムにアクセスできます。クエリはリンクに構築されるため、リンクにアクセスすると、CGIプログラムはデータベースから適切な情報を取得します。
GETメソッドには、挿入されたデータがURLに表示されるため、セキュリティ上の問題がいくつかあります。ブラウザーが通過できるURLの長さは1000文字になる可能性があるため、GETメソッドを介して渡すことができるデータの量は制限されています。
GETメソッドに関する別の問題は、外国語を処理できないことです。 GETメソッドの使用は推奨されていませんが、メソッドの属性が定義されていない場合、GETメソッドがデフォルトとして使用されます。
POSTメソッドの定義
役職 メソッドは、大量の情報が通過できる条件に適しています。サーバーは、POSTを使用するフォームでリクエストを受信すると、残っている情報を「リッスン」し続けます。簡単に言えば、このメソッドは、URLへのリクエストが行われた直後にフォーム入力のすべての関連情報を転送します。
POSTメソッドはWebサーバーと2つの連絡先を確立する必要がありますが、GETは1つだけを作成します。 POSTのリクエストは、スペースがプラス(+)記号で表され、残りの文字がURLパターンでエンコードされるGETメソッドで管理されるのと同じ方法で管理されます。ファイルのアイテムもできます。
- GETメソッドはURI内にパラメーターを配置し、POSTメソッドはパラメーターを本文に追加します。
- GETは、基本的に情報を取得するために使用されます。反対に、POSTメソッドの目的はデータを更新することです。
- POSTクエリ結果はブックマークできませんが、GETクエリ結果はURL形式で存在するためブックマークできます。
- GETメソッドでは、情報がURLに表示されるため、脆弱性とハッキングのリスクが高まります。対照的に、POSTメソッドはURLに変数を表示せず、複数のエンコード手法を使用することもできるため、回復力があります。
- GETメソッドがフォームで使用される場合、ASCII文字のみがデータ型で受け入れられます。それどころか、POSTメソッドはフォームデータタイプをバインドせず、バイナリ文字とASCII文字を許可します。
- GETメソッドの可変サイズは約2000文字です。逆に、POSTメソッドでは最大8 MBの変数サイズが許可されます。
- GETメソッドのデータはキャッシュ可能ですが、POSTメソッドのデータはキャッシュできません。
GETの例
ユーザーがブラウザのロケーションバーにURLを入力すると、 http // www.example.com / xyz / file1.htm。次に、アドレスは有効なHTTP GET要求に変換されます。たとえば、 GET / xyz / file1.htm HTTP / 1.0.
このリクエストはサーバーに転送されます www.example.com。リクエストは file1.htm の中に xyzディレクトリ、およびHTTP 1.0方言に接続しているかどうか。ここでは、ファイルを送信した後、ユーザーはファイルを取得しません。実際には、フォームデータを処理するためにプログラムがバックグラウンドで実行されています。
ユーザーは、実行のためにプログラムの名前でフォームデータを渡す必要があります。この実行を実現するために、要求されたURLにフォーム情報が追加されます。たとえば、実際のデータとともに100文字のURLを生成します。 http://www.example.com/cgi-x/comments.exe?Name=AI+Alena&Age=23&Gender=female.
POSTの例
フォームから送信されたデータは次のように表示されます 名前= AI + Alena&Age = 23&Gender = female。プログラムは、データを分割することでデータを処理します。フォームデータは、 ENCTYPE POSTメソッドの属性。
フォームの内容は通常URLには表示されず、その主な利点は、POSTメソッドを使用してかなりの量のデータを送信できることです。
結論
GETメソッドとPOSTメソッドはデータをサーバーに送信するために使用されます。これらの主な違いは、GETメソッドがデータをフォームのアクション属性で定義されたURIに追加することです。逆に、POSTメソッドは、要求された本文にデータを添付します。機密情報をフォームに入力する必要がある場合、GETメソッドの使用は不適切です。 POSTメソッドは、ユーザーがパスワードまたはその他の機密情報を入力する必要がある場合に役立ちます。