小編給大家分享一下php中GET和POST方法有什么區(qū)別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)湘橋,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
區(qū)別:1、GET只能發(fā)送有限數(shù)量的數(shù)據(jù),POST沒有限制。2、GET發(fā)送的數(shù)據(jù)不受保護(hù),安全性低;而POST的安全性高。3、GET查詢的結(jié)果可以加入書簽中,POST不行。4、GET只接受ASCII字符,POST允許二進(jìn)制和ASCII字符等。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
Get與Post的最主要區(qū)別就是Get是通過Url方式傳送數(shù)據(jù),而Post并不讓用戶看到傳送的具體信息,這個區(qū)別決定了兩者的用途。Get方式主要用于搜索,而Post方式主要用于向服務(wù)器傳送用戶操作信息。
GET 和 POST 方法的區(qū)別:
1、發(fā)送的數(shù)據(jù)數(shù)量
在 GET 中,只能發(fā)送有限數(shù)量的數(shù)據(jù),因為數(shù)據(jù)是在 URL 中發(fā)送的。
在 POST 中,可以發(fā)送大量的數(shù)據(jù),因為數(shù)據(jù)是在正文主體中發(fā)送的。
2、安全性
GET 方法發(fā)送的數(shù)據(jù)不受保護(hù),因為數(shù)據(jù)在 URL 欄中公開,這增加了漏洞和黑客攻擊的風(fēng)險。
POST 方法發(fā)送的數(shù)據(jù)是安全的,因為數(shù)據(jù)未在 URL 欄中公開,還可以在其中使用多種編碼技術(shù),這使其具有彈性。
GET是通過URL方式請求,可以直接看到,明文傳輸。
POST是通過請求header請求,可以開發(fā)者工具或者抓包可以看到,同樣也是明文的。
GET請求會保存在瀏覽器歷史紀(jì)錄中,還可能會保存在Web的日志中。
get提交,請求的數(shù)據(jù)會跟在url(統(tǒng)一資源定位)后面,安全性低
post提交,把提交的數(shù)據(jù)放在http包的包體中,安全性高
3、加入書簽中
GET 查詢的結(jié)果可以加入書簽中,因為它以 URL 的形式存在;而 POST 查詢的結(jié)果無法加入書簽中。
4、編碼
在表單中使用 GET 方法時,數(shù)據(jù)類型中只接受 ASCII 字符。
在表單提交時,POST 方法不綁定表單數(shù)據(jù)類型,并允許二進(jìn)制和 ASCII 字符。
5、可變大小
GET 方法中的可變大小約為 2000 個字符。
POST 方法最多允許 8 Mb 的可變大小。
6、緩存
GET 方法的數(shù)據(jù)是可緩存的,而 POST 方法的數(shù)據(jù)是無法緩存的。
7、主要作用
GET 方法主要用于獲取信息。而 POST 方法主要用于更新數(shù)據(jù)。
8、GET冪等,POST不冪等
冪等是指同一個請求方法執(zhí)行多次和僅執(zhí)行一次的效果完全相同。
按照RFC規(guī)范,PUT,DELETE和安全方法都是冪等的。雖說是規(guī)范,但服務(wù)端實現(xiàn)是否冪等是無法確保的。
引入冪等主要是為了處理同一個請求重復(fù)發(fā)送的情況,比如在請求響應(yīng)前失去連接,如果方法是冪等的,就可以放心地重發(fā)一次請求。這也是瀏覽器在后退/刷新時遇到POST會給用戶提示的原因:POST語義不是冪等的,重復(fù)請求可能會帶來意想不到的后果。
比如在微博這個場景里,GET的語義會被用在「看看我的Timeline上最新的20條微博」這樣的場景,而POST的語義會被用在「發(fā)微博、評論、點(diǎn)贊」這樣的場景中。
以上是“php中GET和POST方法有什么區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!