日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

http post,get,put,delete区别(收集整理)

發(fā)布時(shí)間:2024/8/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 http post,get,put,delete区别(收集整理) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

摘要:

  這篇文章想從restful角度來(lái)分析下http的方法get,post,put,delete的區(qū)別。先暫時(shí)收集下資料~~~

一 Http 規(guī)范中的get與post

  根據(jù)?HTTP?規(guī)范,GET?用于信息獲取,而且應(yīng)該是安全的和冪等的。所謂安全的意味著該操作用于獲取信息而非修改信息。換句話說(shuō),GET?請(qǐng)求一般不應(yīng)產(chǎn)生副作用。冪等的意味著對(duì)同一?URL?的多個(gè)請(qǐng)求應(yīng)該返回同樣的結(jié)果。完整的定義并不像看起來(lái)那樣嚴(yán)格。從根本上講,其目標(biāo)是當(dāng)用戶打開(kāi)一個(gè)鏈接時(shí),她可以確信從自身的角度來(lái)看沒(méi)有改變資源。?比如,新聞?wù)军c(diǎn)的頭版不斷更新。雖然第二次請(qǐng)求會(huì)返回不同的一批新聞,該操作仍然被認(rèn)為是安全的和冪等的,因?yàn)樗偸欠祷禺?dāng)前的新聞。

  根據(jù)?HTTP?規(guī)范,POST?表示可能改變服務(wù)器上的資源的請(qǐng)求。仍然以新聞?wù)军c(diǎn)為例,讀者對(duì)文章的修改應(yīng)該通過(guò)?POST?請(qǐng)求實(shí)現(xiàn),因?yàn)樵谧⒔馓峤恢笳军c(diǎn)已經(jīng)更新了文章。

二 Get 與Post的功能

Get:用來(lái)向服務(wù)器申請(qǐng)請(qǐng)求URI所指定資源的信息。如果請(qǐng)求URI只是一個(gè)數(shù)據(jù)產(chǎn)生過(guò)程,那么最終要在響應(yīng)實(shí)體中返回的是處理過(guò)程的結(jié)果所指向的資源,而不是處理過(guò)程的描述。

Post:用來(lái)向目的服務(wù)器發(fā)出請(qǐng)求,要求它接受被附在請(qǐng)求后的實(shí)體,并把它當(dāng)作請(qǐng)求隊(duì)列中請(qǐng)求URI所指定資源的附加新子項(xiàng),Post被設(shè)計(jì)成用統(tǒng)一的方法實(shí)現(xiàn)下列功能:1. ? 對(duì)現(xiàn)有資源的解釋2. ? 向電子公告欄、新聞組、郵件列表或類似討論組發(fā)信息。3. ? 提交數(shù)據(jù)塊?4. ? 通過(guò)附加操作來(lái)擴(kuò)展數(shù)據(jù)庫(kù)

?從從上面描述可以看出,Get是向服務(wù)器發(fā)索取數(shù)據(jù)的一種請(qǐng)求;而Post是向服務(wù)器提交數(shù)據(jù)的一種請(qǐng)求,要提交的數(shù)據(jù)位于信息頭后面的實(shí)體中。

?三 HTTP請(qǐng)求:get與post方法的區(qū)別

相同點(diǎn):

Get與post請(qǐng)求的相應(yīng)是可緩存的;

備注:如果post有cache-control或者expires頭域指示其相應(yīng)不可緩存

?

不同點(diǎn):

1. ?功能不同--Get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)

2. ?參數(shù)存放位置不同--get請(qǐng)求提交的數(shù)據(jù)放置在HTTP請(qǐng)求協(xié)議頭中,而post提交的數(shù)據(jù)則放在實(shí)體數(shù)據(jù)數(shù)據(jù)中。Get是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的action屬性所指定的URL中,值和表單中各個(gè)字段一一對(duì)應(yīng),在URL中可以看到,post是通過(guò)HTTP?post機(jī)制,將表單內(nèi)各個(gè)字段與其內(nèi)容放置在html?header內(nèi)一起傳送到action屬性所指的URL地址,用戶看不到這個(gè)過(guò)程;get安全性非常低,post安全性較高。

3. ?傳輸數(shù)據(jù)量閾值不同--get傳送的數(shù)據(jù)量較小,不能大于2kb;post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制的。GET方法由于受到URL長(zhǎng)度的限制,只能傳遞大約1024字節(jié);POST傳輸?shù)臄?shù)據(jù)量大,可以達(dá)到2M,而根據(jù)微軟方面的說(shuō)法,微軟對(duì)用?Request.Form()?可接收的最大數(shù)據(jù)有限制,IIS?4?中為?80?KB?字節(jié),IIS?5?中為?100?KB?字節(jié);

4. ?安全性不同--get安全性非常低;post安全性較高,這點(diǎn)有點(diǎn)扯淡,post也就安全那么一點(diǎn)點(diǎn),隨便抓個(gè)包,或者瀏覽器調(diào)試工具都能看到,除非用ssl,或者加密。

6. ?form表單功能不同--在form提交的時(shí)候,如果不指定method,則默認(rèn)為get請(qǐng)求,form中提交的數(shù)據(jù)將會(huì)附加在url之后,以?與URL分開(kāi)。字母數(shù)字字符原樣發(fā)送,但空格轉(zhuǎn)換為“+”號(hào),其它符號(hào)轉(zhuǎn)換為%xx,其中xx為該符號(hào)為16進(jìn)制表示的ASCII(或ISO?Latin-1)值;獲取表單數(shù)據(jù)時(shí),

ASP中,get方式的提交需要用Request.QueryString來(lái)取得變量的值,而post方式提交時(shí),必須通過(guò)Request.Form來(lái)訪問(wèn)提交的內(nèi)容

Java中,get方式的提交需要用Request.getUrl來(lái)取得變量的值,而post方式提交時(shí),必須通過(guò)Request.getParameter來(lái)訪問(wèn)提交的內(nèi)容

7. ?SOAP協(xié)議--SOAP是依賴于HTTP?POST模式實(shí)現(xiàn)的;

四 Restful中g(shù)et,post,put,delete

?

?

五、graphql

現(xiàn)在 graphql 更加適合于新的項(xiàng)目,因?yàn)榻涌诟营?dú)立,部分簡(jiǎn)單的CRUD操作,只要數(shù)據(jù)庫(kù)建好,前端和后端甚至不需要進(jìn)行接口商定,通過(guò)graphql 就可以直接進(jìn)行數(shù)據(jù)庫(kù)的操作。

但是如果涉及復(fù)雜的業(yè)務(wù)邏輯,還是需要后端加入。

?

?

?

備注:本文為網(wǎng)上資料整理,如在引用中侵權(quán),請(qǐng)聯(lián)系我~~~謝謝

轉(zhuǎn)載于:https://www.cnblogs.com/huxiaoyun90/p/3384999.html

總結(jié)

以上是生活随笔為你收集整理的http post,get,put,delete区别(收集整理)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。