get和post的使用場景
GET和POST兩種方法都是將資料送到伺服器。HTTP標準包含這兩種方法是為了達到不同的目的。
POST用於建立資源,資源的內容會被編入HTTP請示的內容中。例如,處理訂貨表單、在資料庫中加入新資料行等。
當請求無副作用時(如進行搜尋),便可使用GET方法;當請求有副作用時(如新增資料行),則用POST方法。一個比較實際的問題是:GET方法可能會產生很長的URL,或許會超過某些瀏覽器與伺服器對URL長度的限制。若符合下列任一情況,則用POST方法:
* 請求的結果有持續性的副作用,例如,資料庫內新增新的資料行。
* 若使用GET方法,則表單上收集的資料可能讓URL過長。
* 要傳送的資料不是採用7位的ASCII編碼。
若符合下列任一情況,則用GET方法:
* 請求是為了查詢資源,HTML表單資料僅用來幫助搜尋。
* 請求結果無持續性的副作用。
* 收集的資料及HTML表單內的輸入欄位名稱的總長不超過1024個字元。
HTTP 定義了與伺服器互動的不同方法,最常用的有4種,Get、Post、Put、Delete,如果我換一下順序就好記了,Put(增),Delete(刪),Post(改),Get(查),即增刪改查,下面簡單敘述一下:
1)Get, 它用於獲取資訊,注意,他只是獲取、查詢資料,也就是說它不會修改伺服器上的資料,從這點來講,它是資料安全的,而稍後會提到的Post它是可以修改資料的,所以這也是兩者差別之一了。
2) Post,它是可以向伺服器傳送修改請求,從而修改伺服器的,比方說,我們要在論壇上回貼、在部落格上評論,這就要用到Post了,當然它也是可以僅僅獲取資料的。
3)Delete 刪除資料。可以通過Get/Post來實現。用的不多,暫不多寫,以後擴充。
4)Put,增加、放置資料,可以通過Get/Post來實現。用的不多,暫不多寫,以後擴充。
下面簡述一下Get和Post區別:
1) GET請求的資料是放在HTTP包頭中的,也就是URL之後,通常是像下面這樣定義格式的,(而Post是把提交的資料放在HTTP正文中的)。
login.action?name=hyddd&password=idontknow&verify=%E4%BD%E5%A5%BD
a,以 ? 來分隔URL和資料;
b,以& 來分隔引數;
c,如果資料是英文或數字,原樣傳送;
d,如果資料是中文或其它字元,則進行BASE64編碼。
2)GET提交的資料比較少,最多1024B,因為GET資料是附在URL之後的,而URL則會受到不同環境的限制的,比如說IE對其限制為2K+35,而POST可以傳送更多的資料(理論上是沒有限制的,但一般也會受不同的環境,如瀏覽器、作業系統、伺服器處理能力等限制,IIS4可支援80KB,IIS5可支援100KB)。
3)Post的安全性要比Get高,因為Get時,引數資料是明文傳輸的,而且使用GET的話,還可能造成Cross-site request forgery攻擊。而POST資料則可以加密的,但GET的速度可能會快些。
所以綜上幾點,總結成下表:
操作方式 |
資料位置 |
明文密文 |
資料安全 |
長度限制 |
應用場景 |
GET |
HTTP包頭 |
明文 |
不安全 |
長度較小 |
查詢資料 |
POST |
HTTP正文 |
可明可密 |
安全 |
支援較大資料傳輸 |
修改資料 |
總的來說,get是用來查詢資料,post是用來修改資料。比方說,我們要在論壇上回貼、在部落格上評論,這就要用到Post了,當然它也是可以僅僅獲取資料的。
相關推薦
什麼是http協議?get和post請求有什麼區別?http請求content-Type有幾種,有什麼區別?http適合什麼場景?http狀態碼有哪些?
這裡是修真院後端小課堂,每篇分享文從 【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴充套件思考】【更多討論】【參考文獻】 八個方面深度解析後端知識/技能,本篇分享的是: 【什麼是http協議?get和post請求有什麼區別?http請求content-Type有幾種
GET和POST的區別和使用場景
區別: 最直觀的區別就是GET把引數包含在URL中,POST通過request body傳遞引數。 你輕輕鬆鬆的給出了一個“標準答案”: GET在瀏覽器回退時是無害的,而POST會再次提交請求。 GET產生的URL地址可以被Bookmark,而POST
get和post的使用場景
GET和POST兩種方法都是將資料送到伺服器。HTTP標準包含這兩種方法是為了達到不同的目的。 POST用於建立資源,資源的內容會被編入HTTP請示的內容中。例如,處理訂貨表單、在資料庫中加入新資料行等。 當請求無副作用時(如進行搜尋),便可使用GET方法;當請求有副作用時
GET和POST區別總結
get 、post 、區別一、GET和POST區別的普遍看法:HTTP 定義了與服務器交互的不同方法,最常用的有4種,Get、Post、Put、Delete,如果我換一下順序就好記了,Put(增),Delete(刪),Post(改),Get(查),即增刪改查,下面簡單敘述一下:1)Get, 它用於獲取信息,註
發送get和post請求時常用的content-type
encode json數據格式 ima for www 下載 orm 文件上傳 服務器 常見的媒體格式類型如下: text/html : HTML格式 text/plain :純文本格式 text/xml : XML格式
java--request對象中的get和post差異
spa ont ava request對象 blog family tro nbsp span post跟get的差異,優先選post post的缺陷 java--request對象中的get和post差異
HttpClient GET和POST請求
pri execute public methods gre col esp odt stringbu package com.rogue.hclient; import java.io.BufferedReader; import java.io.IOExceptio
PHP中常用的超全局變量 表單中get和post提交方式的區別 session與cookie的區別 GD庫是做什麽用的
屬性 過程 生成報表 用戶訪問 服務器 接收 file pla request PHP中常用的超全局變量 $_GET ----->get傳送方式$_POST ----->post傳送方式$_REQUEST ----->可以接收到get和post兩種方式的值
java基礎之get和post的差別
oge tracking data- 宋體 行處理 art 其它 family 我們 上篇博文講到HTTP協議,本篇介紹HTTP請求方法中get和post的差別: 首先,最明顯的一點表象上的差別:GET 方式。將請求參數附加在url之後,POST將請求參數附加在請求頭
http基本get和post請求
read exce pen timeout etc builder pri void tin get請求: private static void httpGet(){ BufferedReader br = null; HttpU
Fiddler get和post數據
fiddler請求數據get數據post數據Get和post數據可以用jmeter或python,但Fiddler也可以實現喔,非常簡單。 打開Fiddler,去到Composer-----Parsed 方法可以下拉選擇,get或post,還有其他很多方法;地址寫上自己的服務器地址;HTTP協議版本根據實際
ajax的get 和post方式發送請求
reat hang utf-8 util tro scheme script lencod ref <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% St
GET和POST區別
密碼 ipa web 是的 ica get 後退 進制數 www GETPOST 後退按鈕/刷新 無害 數據會被重新提交(瀏覽器應該告知用戶數據會被重新提交)。 書簽 可收藏為書簽 不可收藏為書簽 緩存 能被緩存 不能緩存 編碼類型 applicatio
C/C++使用libcurl庫發送http請求(get和post可以用於請求html信息,也可以請求xml和json等串)
網絡連接 get 編譯 eas views vs2015 return tar linux C++要實現http網絡連接,需要借助第三方庫,libcurl使用起來還是很方便的 環境:win32 + vs2015 如果要在Linux下使用,基本同理 1,下載
後臺發送http請求通用方法,包括get和post
util line 通用方法 返回 finall 6.0 val except ktr package com.examsafety.service.sh; import java.io.BufferedReader; import java.io.IOExceptio
GET和POST請求的區別
cat nal 賬號 span asc 交互 cap 開發 code GET和POST請求的區別 GET請求GET /books/?sex=man&name=Professional HTTP/1.1Host: www.wrox.comUser-Agent: Mo
網絡請求HttpWebRequest的Get和Post
toe 應對 sts 引用 style eat == .aspx web 用下邊的小例子講解具體功能的實現: 首先,我們想要請求遠程站點,需要用到HttpWebRequest類,該類在System.Net命名空間中,所以需要引用一下。另外,在向請求的頁面寫入參數時需要用到S
SpringBoot構建RESTful service完成Get和Post
import buddy rom div demo 裏的 參數 ont 瀏覽器中 一個基本的RESTfule service最進場向外提供的請求Method就是Get和Post。 在Get中,常用的都會在請求上帶上參數,或者是路徑參數。響應Json。 在Post中,常用
http協議中get和post的區別
httpHttp定義了與服務器交互的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETEURL全稱是資源描述符,我們可以這樣認 為:一個URL地址,它用於描述一個網絡上的資源,而HTTP中的GET,POST,PUT,DELETE就對應著對這個資源的查 ,改 ,增 ,刪 4個操作。到這裏,
python request 接口測試get和post請求
.post .get access username int 用戶 post請求 運行 開發 開發IDE:pycharm python:2.7.10 get請求 # coding: UTF-8 #兼容中文字符,如果沒有這句,程序中有中文字符時,運行會報錯import