post請(qǐng)求和get請(qǐng)求的區(qū)別 接口編程中,為什么只用get和post?
接口編程中,為什么只用get和post?得到,帖子就夠了。。如果請(qǐng)求類型為text,則get和post完全相同。不同之處在于它們位于HTTP包位置。Get在HTTP報(bào)頭中,post在正文中。由于get
接口編程中,為什么只用get和post?
得到,帖子就夠了。。如果請(qǐng)求類型為text,則get和post完全相同。不同之處在于它們位于HTTP包位置。Get在HTTP報(bào)頭中,post在正文中。
由于get在頭中,傳輸?shù)臄?shù)據(jù)長(zhǎng)度是有限的,而正文可以分區(qū),所以傳輸?shù)臄?shù)據(jù)長(zhǎng)度是無(wú)限的。
作為一種通用的接口協(xié)議,get更方便。
有些人認(rèn)為post比get更安全。它不存在。兩者都是明文傳輸。如果數(shù)據(jù)本身沒(méi)有加密,您可以通過(guò)抓取數(shù)據(jù)包來(lái)查看它。有兩種方法可以提高安全性:1。傳輸協(xié)議使用HTTPS。2檢查并驗(yàn)證數(shù)據(jù)以防止偽造。
公司規(guī)定所有接口都用post請(qǐng)求,這是為什么?
受保護(hù)的void doGet(HttpServletRequest請(qǐng)求,HttpServletResponse響應(yīng))拋出ServletException,IOException{這個(gè).doPost(請(qǐng)求,響應(yīng))}原因是其他頁(yè)面提交方法包括post和get。在這里,它僅用于將get請(qǐng)求轉(zhuǎn)換為post請(qǐng)求,而在protectedvoid dopost(HttpServletRequest request,Httpservletresponse)throws中,ServletException,IOException{}統(tǒng)一了servlet的代碼合成。如果表單提交方法是all post,則可以省略doget()。
我不知道所有者是否有此問(wèn)題。我只是說(shuō)我的理解
這取決于你如何理解它。跳轉(zhuǎn)和提交可以理解為傳遞值。跳轉(zhuǎn)一般是先獲取并傳遞值,然后才設(shè)置頁(yè)面,對(duì)接收到的值做相應(yīng)的處理。提交可以獲取或發(fā)布也可以傳遞值。提交后,跳轉(zhuǎn)也可以在當(dāng)前頁(yè)面上。
jsp form我設(shè)置他的方法為method=
發(fā)布和獲取是不同的。
Get具有以下特征:
post請(qǐng)求具有以下特征:
post具有create/update的語(yǔ)義,因此通常用于實(shí)現(xiàn)類似于“遠(yuǎn)程過(guò)程調(diào)用”的目的。這并不違背語(yǔ)義學(xué)。畢竟,Linux玩得太多了。
Post可以攜帶請(qǐng)求體,根據(jù)語(yǔ)義,Post需要有請(qǐng)求體。如果不是,則也是“create empty resource/rewrite resource as empty”的語(yǔ)義。
Post不應(yīng)假定為冪等,因此服務(wù)器通常使用這種方式告訴請(qǐng)求者Post請(qǐng)求不能隨意重新發(fā)送,除非在響應(yīng)中明確要求(如3xx)。
發(fā)出類似post的請(qǐng)求。事實(shí)上,兩者在語(yǔ)義上是重合的。唯一的區(qū)別是
,這對(duì)put有更嚴(yán)格的限制。
顯然,一般來(lái)說(shuō),我們更喜歡冪等接口,但有時(shí)我們需要做一些不那么瑣碎的事情。所以非冪等接口是必要的。
但是,冪等post接口不必更改為put。它到底是什么最終取決于語(yǔ)義。
這些不是慣例。這些是HTTP協(xié)議的一部分。只有雙方都遵守協(xié)議,他們才能玩得開(kāi)心。例如,如果您自己實(shí)現(xiàn)TCP客戶機(jī),您也可以不遵守TCP協(xié)議關(guān)于序列號(hào)和ACK的規(guī)定。畢竟,你可以隨心所欲地寫,但我們稱之為bug。
類似地,
帶有副作用的get處理程序是一個(gè)bug。
get請(qǐng)求的主體是一個(gè)錯(cuò)誤。
服務(wù)器沒(méi)有丟棄get請(qǐng)求正文是一個(gè)錯(cuò)誤。
請(qǐng)求為post重定向是get為什么還有請(qǐng)求體?
瀉藥,手機(jī),懶得看圖片。兩種方法,1、轉(zhuǎn)換為正確編碼,2、Unicode編碼一般是由于中文編碼不匹配造成的。例如,網(wǎng)站是GB2312,您提交utf8。