標籤:http get post
一、http請求
http請求基本格式
===================================================
<request line> 請求行
<headers> 要求標頭(參數頭)
<blank line> 空白行
[<request-body>] 請求實體(get沒有 post有)
======================================
1.1 請求行:
位於請求訊息的第一行
格式:請求方式 資源路徑 HTTP版本號碼<CRLF斷行符號換行空格定位字元>
常用請求方式:get和post方式
get與post區別:
(1) 在用戶端,get方式在通過URL提交資料,資料在URL中可以看到;post方式,資料放置在HTML HEADER內提交。
(2) get方式提交的資料最多隻能有1k,而POST則沒有此限制。
(3)安全性問題。使用 get的時候,參數會顯示在地址欄上,不安全,而 post不顯示,安全。如果這些資料是中文資料而且是非敏感性資料,那麼使用 get;如果使用者輸入的資料不是中文字元而且包含敏感性資料,那麼還是使用 post為好。
(4)等冪性
1.2 參數頭:從第二行開始到第一個空行。作用:向伺服器傳遞用戶端的一些基本資料
二、http響應
http響應基本格式
===================================================
<status line> 狀態行
<headers> 回應標頭
[<request-body>] 響應實體
======================================
唯一真正的區別在於第一行中用狀態行代替了請求行。狀態行(status line)通過提供一個狀態代碼來說明所請求的資源情況。
| 狀態代碼 |
含義 |
| 100~199 |
表示成功接收請求,要求用戶端繼續提交下一次請求才能完成整個處理過程 |
| 200~299 |
表示成功接收請求並已完成整個處理過程 |
| 300~399 |
為完成請求,客戶需進一步細化請求。例如,請求的資源已經移動一個新地址 |
| 400~499 |
用戶端的請求有錯誤 |
| 500~599 |
伺服器端出現錯誤 |
常用狀態代碼:
200(正常):表示一切正常,返回的是正常請求結果
302/307(臨時重新導向):指出被請求的文檔已被臨時移動到別處,此文檔的新的URL在Location回應標頭中給出。
304(未修改):表示客戶機緩衝的版本是最新的,客戶機可以繼續使用它,無需到伺服器請求。
404(找不到):伺服器上不存在客戶機所請求的資源。
500(伺服器內部錯誤):伺服器端的程式發生錯誤