[解決済み] POSTとGETの違いは何ですか?[重複しています]。
質問
私は最近になってPHP/AJAX/jQueryに関わり始めたのですが、これらの技術で重要な役割を果たすのが
POST
と
GET
.
まず
POST
と
GET
? 実験を通して、私は以下のことを知っています。
GET
は、返す変数とその値をURLの文字列に追加します。
website.com/directory/index.php?name=YourName&bday=YourBday
しかし
POST
はしません。
つまり、これだけの違いなのか、それともどちらかを使うための特別なルールや慣習があるのでしょうか?
第二に、私はまた
POST
と
GET
PHP以外では、AJAXやjQueryでも使用されています。どのように
POST
と
GET
この3つの違いは何ですか?同じアイデア、同じ機能で、利用方法が違うだけなのでしょうか?
解決方法は?
GET
と
POST
は、2つの異なるタイプのHTTPリクエストです。
によると ウィキペディア :
GET は、指定されたリソースの表現を要求します。GETは、ウェブアプリケーションでアクションを起こすような、副作用のある操作に使うべきではないことに注意してください。この理由の一つは、ロボットやクローラが GET を任意に使用する可能性があるためです。ロボットやクローラは、リクエストが引き起こすべき副作用を考慮する必要はありません。
そして
POST は、処理すべきデータ (例: HTML フォームからのデータ) を識別されたリソースに送信します。データはリクエストのボディに含まれます。この結果、新しいリソースが作成されるか、既存のリソースが更新されるか、またはその両方が発生する可能性があります。
つまり、本質的に
GET
はリモートデータを取得するために使用され
POST
は、リモートデータの挿入/更新に使用されます。
HTTP/1.1 仕様書 (RFC 2616) 第 9 項 メソッド定義 に関する詳細な情報が含まれています。
GET
と
POST
の他、他のHTTPメソッドもありますので、興味があればご覧ください。
この仕様では、各メソッドの意図する用途を説明するだけでなく、少なくともひとつの実用的な理由も示しています。
GET
は、データを取得するためにのみ使用されるべきである。
HTTPプロトコルを使用するサービスの作者は、機密データを送信するためにGETベースのフォームを使用するべきではない[SHOULD NOT]。既存の多くのサーバー、プロキシ、そしてユーザーエージェントは、第三者が見ることができる場所にリクエストURIを記録します。サーバーは代わりにPOSTベースのフォーム送信を使用することができます。
最後に
GET
AJAX リクエストの結果をキャッシュするブラウザがあります。
GET
リクエストに対応します。そのため、例えば、同じ
GET
をリクエストすると、たとえ問い合わせたデータがサーバーサイドで更新されていたとしても、常に同じ結果が返されます。この問題を軽減する一つの方法は、タイムスタンプを付加することによって、各リクエストでURLを一意にすることです。
関連
-
[解決済み] ブラウザによって異なるURLの最大長とは?
-
[解決済み] URI、URL、URNの違いは何ですか?
-
[解決済み] PHPでリクエストタイプを検出する(GET, POST, PUT, DELETE)
-
[解決済み] POSTとPUT HTTP REQUESTの違いは何ですか?
-
[解決済み] ログアウトする。GETかPOSTか?
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
-
[解決済み】REST APIでのPUTメソッドとPATCHメソッドの使い分け 実生活でのシナリオ
-
[解決済み】無効なデータに対するRESTレスポンスコード
-
[解決済み】GETメソッドとPOSTメソッドはいつ使うべきですか?両者の違いは何ですか?
-
[解決済み] 304 Not Modified」は具体的にどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
HTTPプロトコルの古典的な面接の質問と回答
-
[解決済み] ブラウザのCookieドメインはどのように機能するのですか?
-
[解決済み] サーバーの1つのポート(例えば80)に複数のクライアントが同時に接続するにはどうすればよいですか?[重複しています]。
-
[解決済み] Chromeのネットワークデバッガをリダイレクトで使用する方法
-
[解決済み] Firefoxで突然「Blocked loading mixed active content」問題が発生したのはなぜですか?
-
[解決済み】無効なデータに対するRESTレスポンスコード
-
[解決済み】HTTP 1.0 vs 1.1
-
[解決済み】GETメソッドとPOSTメソッドはいつ使うべきですか?両者の違いは何ですか?
-
[解決済み】エンティティボディを持たないHTTP POSTを実行することはバッドプラクティスとみなされますか?
-
[解決済み] URLマトリックスパラメータとクエリパラメータの比較