您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關php中post與get有什么區別,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
post 和get 兩種傳輸方式的區別
1.post更安全(不會作為url的一部分,不會被緩存、保存在服務器日志、以及瀏覽器瀏覽記錄中)
2.post發送的數據量更大(get有url長度限制)
3.post能發送更多的數據類型(get只能發送ASCII字符)
4.post是向服務器傳送數據,get是從服務器上獲取數據;
5.get會將數據緩存起來,而post不會
post請求的過程:
1.瀏覽器請求tcp連接(第一次握手)
2.服務器答應進行tcp連接(第二次握手)
3.瀏覽器確認,并發送post請求頭(第三次握手,這個報文比較小,所以http會在此時進行第一次數據發送)
4.服務器返回100 continue響應
5.瀏覽器開始發送數據
6.服務器返回200 ok響應
get請求的過程
1.瀏覽器請求tcp連接(第一次握手)
2.服務器答應進行tcp連接(第二次握手)
3.瀏覽器確認,并發送get請求頭和數據(第三次握手,這個報文比較小,所以http會在此時進行第一次數據發送)
4.服務器返回200 ok響應。
get表達的是一種冪等的,只讀的,純粹的操作,即它除了返回結果不應該會產生其它副作用(如寫數據庫),因此絕大部分get請求(通常超過90%)都直接被CDN緩存了,這能大大減少web服務器的負擔。
而post所表達的語義是非冪等的,有副作用的操作,所以必須交由web服務器處理。
把所有get請求換成post,意味著主干網絡上的所有CDN都廢掉了,web服務器要處理的請求數量將成百上千倍地增加,顯然這不是一個聰明的做法!
關于php中post與get有什么區別就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。