GET和POST是HTTP請求的兩種基本方法,最直觀的區(qū)別就是GET把參數(shù)包含在URL中,POST通過request body傳遞參數(shù)。這里小編提供的是POST參數(shù)解析工具,它可以用于普通post包參數(shù)快速解析對比,從而節(jié)省開發(fā)時間,提高用戶的工作效率,適用于web開發(fā)人員使用,并且可以用來平常寫到協(xié)議類用到的提交數(shù)據(jù)做解析,可以進行對比參數(shù)的相不相同,以及參數(shù)的排序問題,讓用戶可以更加直觀查看參數(shù),歡迎免費下載體驗。
post參數(shù)格式說明
1、json格式
2、urlencoded格式
3、key-value格式
4、MultipartForm
5、XML格式
get和post請求的區(qū)別?
一、GET和POST是什么?HTTP協(xié)議中的兩種發(fā)送請求的方法。
HTTP是什么?HTTP是基于TCP/IP的關于數(shù)據(jù)如何在萬維網(wǎng)中如何通信的協(xié)議。
HTTP的底層是TCP/IP。所以GET和POST的底層也是TCP/IP,也就是說,GET/POST都是TCP鏈接。GET和POST能做的事情是一樣一樣的。你要給GET加上request body,給POST帶上url參數(shù),技術上是完全行的通的。
GET和POST還有一個重大區(qū)別,簡單的說:
GET產(chǎn)生一個TCP數(shù)據(jù)包;POST產(chǎn)生兩個TCP數(shù)據(jù)包。
長的說:
對于GET方式的請求,瀏覽器會把http header和data一并發(fā)送出去,服務器響應200(返回數(shù)據(jù));
而對于POST,瀏覽器先發(fā)送header,服務器響應100 continue,瀏覽器再發(fā)送data,服務器響應200 ok(返回數(shù)據(jù))。
也就是說,GET只需要汽車跑一趟就把貨送到了,而POST得跑兩趟,第一趟,先去和服務器打個招呼“嗨,我等下要送一批貨來,你們打開門迎接我”,然后再回頭把貨送過去。
因為POST需要兩步,時間上消耗的要多一點,看起來GET比POST更有效。因此Yahoo團隊有推薦用GET替換POST來優(yōu)化網(wǎng)站性能。但這是一個坑,跳入需謹慎。為什么?
1. GET與POST都有自己的語義,不能隨便混用。
2. 據(jù)研究,在網(wǎng)絡環(huán)境好的情況下,發(fā)一次包的時間和發(fā)兩次包的時間差別基本可以無視。而在網(wǎng)絡環(huán)境差的情況下,兩次包的TCP在驗證數(shù)據(jù)包完整性上,有非常大的優(yōu)點。
3. 并不是所有瀏覽器都會在POST中發(fā)送兩次包,F(xiàn)irefox就只發(fā)送一次。
二、get和post表現(xiàn)形式區(qū)別:
在HTTP請求中,奇異行必須是一個請求行,包括請求方法,請求URL,報文所用HTTP版本信息。緊接著是一個herders小節(jié),可以有零個或一個首部,用來說明服務器要使用的附加信息。在首部之后就是一個空行,最后就是報文實體的主體部分,包含一個由任意數(shù)據(jù)組成的數(shù)據(jù)塊。但是并不是所有的報文都包含實體的主體部分。
接下來看看兩種請求方式的區(qū)別:
1、GET請求,請求的數(shù)據(jù)會附加在URL之后,以?分割URL和傳輸數(shù)據(jù),多個參數(shù)用&連接。URL的編碼格式采用的是ASCII編碼,而不是uniclde,即是說所有的非ASCII字符都要編碼之后再傳輸。
POST請求:POST請求會把請求的數(shù)據(jù)放置在HTTP請求包的包體中。上面的item=bandsaw就是實際的傳輸數(shù)據(jù)。
因此,GET請求的數(shù)據(jù)會暴露在地址欄中,而POST請求則不會。
2、傳輸數(shù)據(jù)的大小
在HTTP規(guī)范中,沒有對URL的長度和傳輸?shù)臄?shù)據(jù)大小進行限制。但是在實際開發(fā)過程中,對于GET,特定的瀏覽器和服務器對URL的長度有限制。因此,在使用GET請求時,傳輸數(shù)據(jù)會受到URL長度的限制。
對于POST,由于不是URL傳值,理論上是不會受限制的,但是實際上各個服務器會規(guī)定對POST提交數(shù)據(jù)大小進行限制,Apache、IIS都有各自的配置。
3、安全性
POST的安全性比GET的高。這里的安全是指真正的安全,而不同于上面GET提到的安全方法中的安全,上面提到的安全僅僅是不修改服務器的數(shù)據(jù)。比如,在進行登錄操作,通過GET請求,用戶名和密碼都會暴露再URL上,因為登錄頁面有可能被瀏覽器緩存以及其他人查看瀏覽器的歷史記錄的原因,此時的用戶名和密碼就很容易被他人拿到了。除此之外,GET請求提交的數(shù)據(jù)還可能會造成Cross-site request frogery攻擊
4、HTTP中的GET、POST、SOAP協(xié)議都是在HTTP上運行的
- 下載地址
發(fā)表評論
0條評論軟件排行榜
熱門推薦
- 探月少兒編程電腦版 v4.5.6212.7M / 簡體中文
- 猿編程電腦版 v4.25.0官方版181.82M / 簡體中文
- RubyMine2024電腦版 v2024.2.2官方版662.4M / 多國語言[中文]
- XMLSpy2024官方版 v26.2.1.0442.99M / 簡體中文
- idea2023官方版 v2023.3.6661.39M / 簡體中文
- pycharm2023專業(yè)版 v2023.3.5544.09M / 簡體中文
- clion2023官方版 v2023.3.4750.29M / 多國語言[中文]
- Goland2023官方版 v2023.3.6476.44M / 英文
- hbuilderx電腦版 v3.99.2023122611官方版39.61M / 簡體中文
- 橙光制作工具電腦版 v2.5.27.0913官方版1.01M / 簡體中文