Web應用和HTTP協議

Web應用:

由瀏覽器和服務端組成瀏覽器

客戶端:瀏覽器->頁面 指的是資源的容器,用戶只負責請求頁面,全部的東西由頁面來加載。服務器

包括移動設備:微信 app 瀏覽器。微信

服務端:服務(JAVA、PHP、Node)->資源集合(Html、Css、Js)、動態數據。架構

客戶端和服務端須要HTTP協議鏈接。
image.pngapp

HTTP協議:

HTTP 協議是 Hyper Text Transfer Protocol_(超文本傳輸協議)的縮寫,基於 _TCP/IP 通訊協議來傳遞數據( HTML 文件, 圖片文件, 查詢結果等 ),屬於應用層的面向對象的協議,_HTTP_ 協議工做於客戶端-服務端架構爲上。spa

image.png

HTTP的兩個特別特色:code

  1. 無鏈接:一次請求一次鏈接。
  2. 無狀態:每次請求都是一次新的請求。

URI:(Uniform Resource Identififier)統一資源標誌符,orm

URL:(Uniform Resource Locator),統一資源定位符,URL能夠是URI 但URI不必定是URL對象

URL組成:blog

  1. 協議
  2. IP
  3. 端口

URN :(Uniform Resource Name),統一資源命名符。

URI 是以一種抽象的,高層次概念定義統一資源標識,而URL和URN則是具體的資源標識的方式

HTTP模型:

  1. 請求:requestimage.png
  2. 響應:responseimage.png

狀態碼:

  1. _1xx_:指示信息--表示請求已接收,繼續處理
  2. 2xx:成功--表示請求已被成功接收、理解、接受
  3. 3xx:重定向--要完成請求必須進行更進一步的操做
  4. 4xx:客戶端錯誤--請求有語法錯誤或請求沒法實現
  5. 5xx:服務器端錯誤--服務器未能實現合法的請求

請求類型:

  1. GET 請求指定的頁面信息,並返回實體主體。
  2. HEAD 相似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
  3. POST 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中

    POST請 求可能會致使新的資源的創建和/或已有資源的修改。

  4. PUT 從客戶端向服務器傳送的數據取代指定的文檔的內容。
  5. DELETE 請求服務器刪除指定的頁面。

HTTP事務:

描述一次完整的從請求到響應的過程

image.png

  1. 用戶發起請求時,首先進行域名解析
  2. 拿到域名所對應的 IP 地址以後,經過 TCP 協議創建與服務端的通訊鏈接。( 三次握手,創建鏈接 )
  3. 服務接收到用戶請求以後,進行業務處理,隨後將請求以後的結果返回給瀏覽器
  4. 瀏覽器接收到後臺的數據 (4次揮手,斷開鏈接 ) 注:connection:keep-alive常鏈接
相關文章
相關標籤/搜索