getとpost
HTTPメソッドはクライアントがサーバに要求する2つの一般的なメソッドである.これがgetとpostの方法です.じゃあ2つ交換します
1. GET
getリクエストはキャッシュできます.(getを使用してサーバにリソースを要求すると、Webキャッシュは要求をブロックしてサーバからリソースを再ダウンロードするのではなく、リソースのコピーを返します.HTTPヘッダーでは、chche-control-headerを使用してキャッシュの選択を指定できます.)
アドレスに値があります.
getリクエストはブラウザ履歴に保持されます.
getリクエストは、ブックマークであってもよいし、朝礼であってもよい.
getリクエストは長さの制限で、ブラウザごとに異なる制限があります.(msインターネットexplorer制限2048文字、chrome制限37748文字、firefox制限100万文字、safari制限40万文字、オペラ制限30万文字)
getリクエストはパラメータを露出するので、安全のために重要な情報を含めるべきではありません.
作成は機密情報を含まない.2. POST
キャッシュしません.
ブラウザ履歴には保持されません.
ブックマークがありません.
データ長に制限はありません.
アドレスに値は表示されません.
3.GETとPOSTの違い
1. GET
名前の通りgetは情報を取得してクエリーする方法です.?id=123&age=100
「id」と「age」をキーにクエリーが表示されます.
? タグはURLの末尾を示し、idというキーに対してmangという値、pwというキーに対してkyuという値を示すことがわかります.複数の鍵や値を送信する場合、使用&接続のGETメソッドは最低のセキュリティを持たないため、実際のサイトでIDやPWなどの重要な情報を使用するとプライバシーが漏れることがあります.個人情報が含まれていない場合、GETメソッドを使用してデータ*を露出することは、通常、キャッシュに使用され、速度を速めたり、お気に入りを容易にしたりするために使用されます.あるアイテムaにお気に入りを追加すると、そのアイテム名aの情報をurlに追加することでお気に入りを作成できます.
詳細については、MangKyu's Diaryを参照してください.
1-1. GETの特徴
?id=123&age=100
getリクエストはキャッシュできます.(getを使用してサーバにリソースを要求すると、Webキャッシュは要求をブロックしてサーバからリソースを再ダウンロードするのではなく、リソースのコピーを返します.HTTPヘッダーでは、chche-control-headerを使用してキャッシュの選択を指定できます.)
アドレスに値があります.
getリクエストはブラウザ履歴に保持されます.
getリクエストは、ブックマークであってもよいし、朝礼であってもよい.
/recommend/bookmark 와 같이 조회할 수 있다.
getリクエストは長さの制限で、ブラウザごとに異なる制限があります.(msインターネットexplorer制限2048文字、chrome制限37748文字、firefox制限100万文字、safari制限40万文字、オペラ制限30万文字)
getリクエストはパラメータを露出するので、安全のために重要な情報を含めるべきではありません.
1-2. GETを正しく作成
作成は機密情報を含まない.
/category?categoryId=3&page=3
2. POST
post方式はアドレスウィンドウにありません.
POSTは、クライアントからサーバにデータを送信してリソースを作成または更新する方法である.たとえば、掲示板に投稿などを作成します.
POSTは、送信するデータをHTTPメッセージ本文に入れてサーバに送信する.(bodyのタイプはContent-Type-headerに依存)
GETをURLパラメータに送信するname 1=value 1&name 2=value 2がbodyに含まれます.
POSTにデータを転送する場合、長さに制限されないため、大容量データを送信する際にこれらのデータを使用するか、GETのように外部に表示するのではなく、安全保護が必要な場所でこれらのデータを使用する.
(ただし、データを暗号化しないと、bodyのデータも最終的に表示されます.)
POSTによるデータ転送は、通常、HTMLフォームを介してサーバに送信される.
2-1. POST特性
キャッシュしません.
ブラウザ履歴には保持されません.
ブックマークがありません.
データ長に制限はありません.
アドレスに値は表示されません.
3.GETとPOSTの違い
目的:getがサーバ上のリソースからデータを要求する場合、postはサーバ上のリソースの作成または更新に使用します.
body有無:getは要求したデータをurlパラメータにロードするので、HTTPメッセージにはbodyはありません.ただしpostはbodyにデータを送信し、HTTPメッセージにbodyが存在する.
不変性:getはクエリーリソースにすぎないので、複数回のリクエストの応答は同じです.postはリソースの作成または更新に使用されるため、応答が異なります.(サーバが変更される場合があります)
ロングファイルまたは画像:postはデータ長に制限されないため、ロングコンテンツまたは画像ファイルの場合、post、単純テキストコンテンツはgetに移動します.
参考資料
https://korbillgates.tistory.com/182
https://noahlogs.tistory.com/35
https://www.w3schools.com/tags/ref_httpmethods.asp
https://blog.outsider.ne.kr/312
https://mangkyu.tistory.com/17
https://developer.mozilla.org/ko/docs/Web/HTTP/Caching
Reference
この問題について(getとpost), 我々は、より多くの情報をここで見つけました
https://velog.io/@wlgns410/get-과-post
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(getとpost), 我々は、より多くの情報をここで見つけました https://velog.io/@wlgns410/get-과-postテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol