postとget方式のコミットデータの違い

1248 ワード

htmlのフォームを書くとき、最初の文は次のように始まります.
formラベルのプロパティmethodには2つの選択肢があります.1つはgetで、1つはpostです.
method
属性methodはブラウザにフォームデータをどのように送信するか(フォームデータがaction属性に規定されたページにコミットされる)を教え、デフォルト値はgetで、postの使用を推奨します
両者の区別
原理が違う
GETはASCII文字のみを許可し、非ASCII文字が含まれている場合、;POSTは制限されず、バイナリデータも許可される.GETが要求したデータはURLに添付されます(HTTPプロトコルヘッダにデータを配置します).URLと転送データを分割し、パラメータ間を&に接続します.
login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。
データが英字/数字の場合、そのまま送信され、スペースであれば+に変換され、中国語/その他の文字であれば、文字列をBASE 64で直接暗号化し、%E 4%BD%A 0%E 5%A 5%BDのように、%XXのXXはこの記号が16進数で表されるASCIIである.POSTは提出したデータをHTTPパケットであるパケットに入れる.
表象が通じない
GETが提出したデータはブラウザのURLで直接見ることができ、POSTはそうではない.
データ量
HTTPはURLの長さに制限はありませんが、GETはブラウザの制限のため、最大1 kのデータを提出します;POSTは理論的には制限されていませんが、実際にはサーバの制限を受けなければなりません.
安全性
  • GETのセキュリティはPOSTより少し劣っています.GETが提出したデータはブラウザのURLで直接見ることができるので、情報の漏洩を招きやすく、POST要求はしません.また、GETコミットはブラウザによってキャッシュされ、POSTキャッシュのほとんどのブラウザはサポートされていないため、GETのデータはブラウザ履歴で調べることができる.
  • もう一つのネット上で言うセキュリティとは、規範の定義の下で、GET操作がサーバのデータ
  • を変更しないことを意味する.
    シーンが異なる
    GETは一般にリソース情報の取得/照会に用いられ、POSTは一般にリソース情報の更新に用いられる.
    参考:
    HTTPにおけるGetとPostの違いについて
    パラメータのデータ型に対して、GETはASCII文字だけを受け入れ、POSTは制限しない.
    HTTPリクエストのPOSTとGETリクエストの違いは?知っていますか