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方式提交表單,因為有可能...