標籤:style http io ar os 使用 sp for 資料
兩種最常用的 HTTP 方法是:GET 和 POST。
什麼是 HTTP?
超文字傳輸通訊協定 (HTTP)(HTTP)的設計目的是保證客戶機與伺服器之間的通訊。
HTTP 的工作方式是客戶機與伺服器之間的請求-應答協議。
網頁瀏覽器可能是用戶端,而電腦上的網路應用程式也可能作為伺服器端。
舉例:用戶端(瀏覽器)向伺服器提交 HTTP 要求;伺服器向用戶端返迴響應。響應包含關於請求的狀態資訊以及可能被請求的內容。
兩種 HTTP 要求方法:GET 和 POST
在客戶機和伺服器之間進行要求-回應時,兩種最常被用到的方法是:GET 和 POST。
- GET - 從指定的資源請求資料。
- POST - 向指定的資源提交要被處理的資料
GET 方法
請注意,查詢字串(成對的名稱和數值)是在 GET 請求的 URL 中發送的:
/test/demo_form.asp?name1=value1&name2=value2
有關 GET 請求的其他一些注釋:
- GET 請求可被緩衝
- GET 請求保留在瀏覽器記錄中
- GET 請求可被收藏為書籤
- GET 請求不應在處理敏感性資料時使用
- GET 請求有長度限制
- GET 請求只應當用於取回資料
POST 方法
請注意,查詢字串(成對的名稱和數值)是在 POST 請求的 HTTP 訊息主體中發送的:
POST /test/demo_form.asp HTTP/1.1Host: w3schools.comname1=value1&name2=value2
有關 POST 請求的其他一些注釋:
- POST 請求不會被緩衝
- POST 請求不會保留在瀏覽器記錄中
- POST 不能被收藏為書籤
- POST 請求對資料長度沒有要求
比較 GET 與 POST
下面的表格比較了兩種 HTTP 方法:GET 和 POST。
| |
GET |
POST |
| 後退按鈕/重新整理 |
無害 |
資料會被重新提交(瀏覽器應該告知使用者資料會被重新提交)。 |
| 書籤 |
可收藏為書籤 |
不可收藏為書籤 |
| 緩衝 |
能被緩衝 |
不能緩衝 |
| 編碼類別型 |
application/x-www-form-urlencoded |
application/x-www-form-urlencoded 或 multipart/form-data。為位元據使用多重編碼。 |
| 曆史 |
參數保留在瀏覽器曆史中。 |
參數不會儲存在瀏覽器曆史中。 |
| 對資料長度的限制 |
是的。當發送資料時,GET 方法向 URL 添加資料;URL 的長度是受限制的(URL 的最大長度是 2048 個字元)。 |
無限制。 |
| 對資料類型的限制 |
只允許 ASCII 字元。 |
沒有限制。也允許位元據。 |
| 安全性 |
與 POST 相比,GET 的安全性較差,因為所發送的資料是 URL 的一部分。
在發送密碼或其他敏感資訊時絕不要使用 GET ! |
POST 比 GET 更安全,因為參數不會被儲存在瀏覽器曆史或 網頁伺服器日誌中。 |
| 可見度 |
資料在 URL 中對所有人都是可見的。 |
資料不會顯示在 URL 中。 |
其他 HTTP 要求方法
下面的表格列出了其他一些 HTTP 要求方法:
| 方法 |
描述 |
| HEAD |
與 GET 相同,但只返回 HTTP 前序,不返迴文檔主體。 |
| PUT |
上傳指定的 URI 表示。 |
| DELETE |
刪除指定資源。 |
| OPTIONS |
返回伺服器支援的 HTTP 方法。 |
| CONNECT |
把請求串連轉換到透明的 TCP/IP 通道。 |
HTTP 方法:GET 對比 POST