閱讀477 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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: w3cschool.cn
name1=value1&name2=value2

有關 POST 請求的其他一些注釋:

POST 請求不會被緩存

POST 請求不會保留在瀏覽器曆史記錄中

POST 不能被收藏為書簽

POST 請求對數據長度沒有要求

比較 GET 與 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 請求方法

方法 描述
HEAD 與 GET 相同,但隻返回 HTTP 報頭,不返回文檔主體
PUT 上傳指定的 URI 表示
DELETE 刪除指定資源
OPTIONS 返回服務器支持的 HTTP 方法
CONNECT 把請求連接轉換到透明的 TCP/IP 通道

最後更新:2017-05-23 19:31:51

  上一篇:go  tomcat啟動時檢測到循環繼承而棧溢出的問題
  下一篇:go  JVM實用參數係列