HTTP

HTTP

1.常用的HTTP方法

  1. GET:用於請求訪問已經被URI(統一資源標識符),可以通過URL傳給服務器
  2. POST:用於傳輸信息給服務器,主要功能與GET方法類似,但一般推薦使用POST方法
  3. PUT:傳輸文件,報文主體中包含文件內容,保存到對於URI位置
  4. HEAD:獲得報文首部,與GET方法類似,只是不返回報文主體,一般用於URI是否有效
  5. DELETE:刪除文件,與PUT方法相反,刪除對應的URI位置文件
  6. OPTIONS:查詢相應URI支持的HTTP方法

2.Get方法與POST方法的區別

區別一:
get重點在服務器上獲取資源,post重點在向服務器發送數據
區別二:
get傳輸數據是通過URL請求,以field(字段) = value的形式,置於URL後,並用“?”鏈接,
多個請求數據間用“&”鏈接,如:"http://127.0.0.1/Test/login.action?name=admin&password=admin",
這個過程用戶是可見的;
Post傳輸數據通過HTTP的POST機制,將字段與對應的值封存在請求實體中發送給服務器,這個過程對用戶不可見
區別三:
Get傳輸的數據量小,因爲受URL的長度限制,但效率很高
Post可以傳輸大量數據,所以上傳文件時只能用Post方式
區別四:
get是不安全的,因爲URL是可見的,可能會泄露私密信息,如密碼等;
post較get安全性較
區別五:
get方式只能支持ASCII字符,向服務器傳的中文字符可能會亂碼。
post支持標準字符集,可以正確傳遞中文字符。

HTTP請求報文與響應報文格式

請求報文包含的三部分

  1. 請求行:
    1. 請求方法
    2. URI
    3. HTTP版本信息
  2. 響應報文包含的三部分:
    1. 狀態行:包含HTTP版本、狀態碼、狀態碼的原因短語
    2. 響應首部字段
    3. 響應內容實體

常見的HTTP相應的狀態碼

200:請求被正常處理
204:請求被受理但沒有資源可以返回
206:客戶端只是請求資源的一部分,服務器只對請求的部分資源執行GET方法,相應報文中通過Content-Range指定範圍的資源。
301:永久性重定向
302:臨時重定向
303:與302狀態碼有相似的功能,只是它希望客戶端在請求一個URI的時候,能通過GET方法重定向到另一個URI上
304:發送附帶條件請求時,條件不滿足時返回,與重定向無關
307:臨時重定向,與302類似,只是強制要求使用POST方法
400:請求報文語法有誤,服務器無法識別
401:請求需要認證
403:請求的對應資源被禁止訪問
404:服務器無法找到對應資源
500:服務器內部錯誤
502:表示網管錯誤
503:服務器忙

HTTP1.1版本新特性

  1. 默認持久連接節省通信量,只要客戶端服務端任意一端沒有明確提出斷開TCP連接,就一直保持連接,可以發送多次HTTP請求
  2. 管線化,客戶端可以同時發出多個HTTP請求,而不用一個個等待響應
  3. 斷點續傳原理。

常見HTTP首部字段

通用首部字段(請求報文與響應報文都會使用的首部字段)
  1. Date:創建報文時間
  2. Connection:連接的管理
  3. Cache-Control:緩存的控制
  4. Transfer-Encoding:報文主體的傳輸編碼方式
請求首部字段(請求報文會使用的首部字段)
  1. Host:請求資源所在服務器
  2. Accept:可處理的媒體類型
  3. Accept-Charset:可接收的字符集
  4. Accept-Encoding:可接受的內容編碼
  5. Accept-Language:可接受的自然語言
響應首部字段(響應報文會使用的首部字段)
  1. Accept-Ranges:可接受的字節範圍
  2. Location:令客戶端重新定向到的URI
  3. Server:HTTP服務器的安裝信息
實體首部字段(請求報文與響應報文的的實體部分使用的首部字段)
  1. Allow:資源可支持的HTTP方法
  2. Content-Type:實體主類的類型
  3. Content-Encoding:實體主體適用的編碼方式
  4. Content-Language:實體主體的自然語言
  5. Content-Length:實體主體的的字節數
  6. Content-Range:實體主體的位置範圍,一般用於發出部分請求時使用

HTTP的缺點與HTTPS

  1. 通信使用明文不加密,內容可能被竊聽
  2. 不驗證通信方身份,可能遭到僞裝
  3. 無法驗證報文完整性,可能被篡改
  4. HTTPS就是HTTP加上加密處理(一般是SSL安全通信線路)+認證+完整性保護

HTTP優化

  1. 利用負載均衡優化和加速HTTP應用
  2. 利用HTTP Cache來優化網站
發佈了9 篇原創文章 · 獲贊 4 · 訪問量 467
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章