什麼時候用GET,什麼時候用POST

剛開始學習Web開發的時候,總會遇到提交表單時使用GET方法還是POST方法的問題,最開始的時候因爲沒有經驗並沒有領悟,後來框架開發做多了,更是把這些原始基礎知識扔出了銀河系。最近開到一段W3的資料,寫的不錯,原文地址如下:http://bu-choreography.iteye.com/admin/blogs/new。翻譯總結如下:
快速判斷:
如下情況使用GET方法:客戶端與服務端的交互像是一個提問(如查詢操作、搜索操作、讀操作)
如下情況使用POST方法:
1.交互是一個命令或訂單(order),比提問包含更多信息
2.交互改變了服務器端的資源並被用戶察覺,例如訂閱某項服務
3.用戶需要對交互產生的結果負責
聽起來稍微明白了一點,接着來。
根據HTTP協議規定,GET方法可以攜帶交互需要的所有數據,因此你會看到搜索百度或谷歌的時候,點擊搜索形成的URL包含了你剛纔的搜索關鍵字,沒有安全需求的請求把信息放URL裏沒關係,但是你訪問銀行網站的時候,不希望把賬戶、密碼這些放在URL裏被人攔截是吧,所以HTTP設計了POST請求,他可以把請求信息放在HTTP請求裏,具體格式這裏不細說了,這樣你就不能簡單的從URL裏找到賬戶、密碼了。
講完這些,是不是比較清楚了呢。
文章還例舉了幾個曾經的HTTP請求限制。
1.URI不能超過256個字符。這個限制在有些服務器裏是存在的,有的服務器爲了網絡安全,爲了防止拒絕式攻擊會把URL字符限制在4000字符
2.你提交了GET請求,又馬山按了backspace鍵,會導致get方法被重新執行
3.你在一個頁面使用了安全協議,跳轉到了另一個使用不安全協議的頁面時,會導致安全數據泄漏給第二個頁面。
4搜索服務不檢索包含問號的URI
最早的搜索爲了防止無限循環是這麼做的,但是限制採用其他辦法了,自然也沒這個限制了
發佈了12 篇原創文章 · 獲贊 0 · 訪問量 2980
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章