get和post的區別

2021-08-17 21:14:42 字數 958 閱讀 3037

get和post長度的限制問題

get1.get是通過url提交資料,因此get可提交的資料量就跟url所能達到的最大長度有直接關係。

2.實際上http協議對url長度是沒有限制的;限制url長度大多數是瀏覽器或者伺服器的配置引數

post

1.同樣的,http協議沒有對post進行任何限制,一般是受伺服器配置限制或者記憶體大小。

2.php下可以修改php.conf的postmaxsize來設定post的大小。

請求header的content-length問題

如果有人惡意偽造content-length很大的包頭,但實際上傳送content-length很小的請求,這樣伺服器會一直幹等,直到超時。當然伺服器是可以通過設定來避免該問題的

get和post的安全性

1.get是通過url方式請求,可以直接看到,明文傳輸。

2.post是通過請求header請求,可以開發者工具或者抓包可以看到,同樣也是明文的。 

3.get請求會儲存在瀏覽器歷史紀錄中,還可能會儲存在web的日誌中。

get和post對伺服器的狀態

根據http的設計,大家在看到get的時候,都期望這個請求對伺服器沒有修改,看到post的時候,都認為這對伺服器產生了修改。

get冪等,post不冪等

冪等是指同乙個請求方法執行多次和僅執行一次的效果完全相同。

1.按照rfc規範,put,delete和安全方法都是冪等的。雖說是規範,但服務端實現是否冪等是無法確保的。

2.引入冪等主要是為了處理同乙個請求重**送的情況,比如在請求響應前失去連線,如果方法是冪等的,就可以放心地重發一次請求。這也是瀏覽器在後退/重新整理時遇到post會給使用者提示的原因:post語義不是冪等的,重複請求可能會帶來意想不到的後果。

get和post的區別

在b s應用程式中,前台與後台的資料互動,都是通過html中form表單完成的。form提供了兩種資料傳輸的方式 get和post。雖然它們都是資料的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對資料產生嚴重的影響。雖然為了方便的得到變數值,web容器已經遮蔽了二者的一些差異,但是了解二者的...

post和get的區別?

1.get是從伺服器上獲取資料,post是向伺服器傳送資料。get 和 post只是一種傳遞資料的方式,get也可以把資料傳到伺服器,他們的本質都是傳送請求和接收結果。只是組織格式和資料量上面有差別,http協議裡面有介紹。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和...

post和get的區別

兩者的主要區別在資料傳送方式和接收方式上 1 在客戶端 get方式是通過url提交資料 post方式是提交後位址列是不變的 2 在伺服器端 get方式是利用解析位址列字串的方式,伺服器獲取get提交的值 post方式是以form的形式提交表單引數 一般來說,盡量避免使用get方式提交表單,因為有可能...