HTTP 方法:GET 对比 POST
生活随笔
收集整理的這篇文章主要介紹了
HTTP 方法:GET 对比 POST
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是 HTTP ?
超文本傳輸協議(HTTP)的設計目的是保證客戶端與服務器之間的通信。
HTTP 的工作方式是客戶端與服務器之間的請求-應答協議。
web 瀏覽器可能是客戶端,而計算機上的網絡應用程序也可能作為服務器端。
舉例:客戶端(瀏覽器)向服務器提交 HTTP 請求;服務器向客戶端返回響應。響應包含關于請求的狀態信息以及可能被請求的內容。
兩種 HTTP 請求方法:GET 和 POST
在客戶機和服務器之間進行請求-響應時,兩種最常被用到的方法是:GET 和 POST。
- GET - 從指定的資源請求數據。
- POST - 向指定的資源提交要被處理的數據。
一、GET 方法
查詢字符串(名稱/值對)是在 GET 請求的 URL 中發送的:
/test/demo_form.php**?name1=value1&name2=value2**
有關 GET 請求的其他一些注釋:
-
GET 請求可被緩存
-
GET 請求保留在瀏覽器歷史記錄中
-
GET 請求可被收藏為書簽
-
GET 請求不應在處理敏感數據時使用
-
GET 請求有長度限制
-
GET 請求只應當用于取回數據
二、POST 方法
查詢字符串(名稱/值對)是在 POST 請求的 HTTP 消息主體中發送的:
POST /test/demo_form.php HTTP/1.1
Host: runoob.com
name1=value1&name2=value2
有關 POST 請求的其他一些注釋:
-
POST 請求不會被緩存
-
POST 請求不會保留在瀏覽器歷史記錄中
-
POST 不能被收藏為書簽
-
POST 請求對數據長度沒有要求
三、比較 GET 與 POST
| 后退按鈕/刷新 | 無害 | 數據會被重新提交(瀏覽器應該告知用戶數據會被重新提交)。 |
| 書簽 | 可收藏為書簽 | 不可收藏為書簽 |
| 緩存 | 能被緩存 | 不能緩存 |
| 編碼類型 | application/x-www-form-urlencoded | application/x-www-form-urlencoded or multipart/form-data。為二進制數據使用多重編碼。 |
| 歷史 | 參數保留在瀏覽器歷史中。 | 參數不會保存在瀏覽器歷史中。 |
| 對數據長度的限制 | 是的。當發送數據時,GET 方法向 URL 添加數據;URL 的長度是受限制的(URL 的最大長度是 2048 個字符)。 | 無限制。 |
| 對數據類型的限制 | 只允許 ASCII 字符。 | 沒有限制。也允許二進制數據。 |
| 安全性 | 與 POST 相比,GET 的安全性較差,因為所發送的數據是 URL 的一部分。 在發送密碼或其他敏感信息時絕不要使用 GET ! | POST 比 GET 更安全,因為參數不會被保存在瀏覽器歷史或 web 服務器日志中。 |
| 可見性 | 數據在 URL 中對所有人都是可見的。 | 數據不會顯示在 URL 中。 |
總結
以上是生活随笔為你收集整理的HTTP 方法:GET 对比 POST的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 职场规划小提示
- 下一篇: Tomcat的Classpath-常见问