成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Http協議你都了解嗎?

網絡 網絡管理
通過 HTTP 或者 HTTPS 協議請求的資源由統一資源標識符(Uniform Resource Identifiers,URI)來標識。由 HTTP 客戶端發起一個請求,創建一個到服務器指定端口(默認是80端口)的 TCP連接。

[[390013]]

1. HTTP協議

超文本傳輸協議(HyperText Transfer Protocol),縮寫HTTP

通過 HTTP 或者 HTTPS 協議請求的資源由統一資源標識符(Uniform Resource Identifiers,URI)來標識。由 HTTP 客戶端發起一個請求,創建一個到服務器指定端口(默認是80端口)的 TCP連接。HTTP 服務器則在那個端口監聽客戶端的請求。一旦收到請求,服務器會向客戶端返回一個狀態,比如" HTTP/1.1 200 OK ",以及返回的內容,如請求的文件、錯誤消息、或者其它信息。

2. URI 和 URL

▐ 2.1 URI

Uniform Resource Identifier,統一資源標識符Web上可用的每種資源如HTML 文檔、圖像、視頻片段、程序等都是用URI來定位的;

URI 一般由三部分組成:

  1. 訪問資源的命名機制
  2. 存放資源的主機名
  3. 資源自身的名稱,由路徑表示,著重強調于資源

▐ 2.2 URL

Uniform Resource Location,統一資源定位符

URL 是 Internet 上用來描述信息資源的字符串,主要用在各種 WWW 客戶程序和服務器程序上。URL 是 URI 的一種。

采用 URL 可以用一種統一的格式來描述各種信息資源,包括文件、服務器的地址和目錄等。

URL 一般由三部組成

  1. 協議
  2. 可訪問該資源的主機IP地址(或帶有端口號)
  3. 主機資源的具體地址(目錄加文件名)

▐ 2.3 URL 的構成

  1. 協議部分:協議部分為 http:
  2. 域名部分:域名部分例如"www.jianshu.com",當然域名也可以用 IP 地址,IP 少 一步用DNS服務器解析
  3. 端口部分:域名和端口之間使用":"分隔。
  4. 端口不是URL必須的部分,如果端口省略,將采用默認端口號80,所以實際請求地址是http://www.jianshu.com:80
  5. 虛擬目錄部分:從域名后的第一個“/”開始到最后一個“/”為止,是虛擬目錄部分。虛擬目錄也不是一個URL必須的部分。
  6. 文件名部分:指在服務器中訪問的資源文件的路徑。
  7. 錨部分:從“#”開始到最后,都是錨部分,也不是必須的部分。
  8. 做過 html 的都知道,用于定位到頁面的滑動位置。
  9. 參數部分:從“?”開始到“#”為止之間的部分為參數部分,又稱搜索部分、查詢部分。例如?page=1。

3. 請求的種類

HTTP 協議中共定義了八種方法或者叫“動作”來表明對 Request-URI 指定的資源的不同操作方式。就類似操作數據庫和文件系統一樣,設計網絡的請求也是一樣。URL 用于定位了網絡資源,創造 PUT,DELETE,POST,GET 來對應增,刪,改,查操作。但是我們在實際應用中常用的也就是 get 和 post,其他請求方式也都可以通過這兩種方式間接的來實現。

GET

向指定資源發出“顯示“信息。使用GET方法只用于獲取數據,而不應該改變數據本身,即不對數據進行操作和提交信息。

POST

向指定資源提交數據,請求服務器進行處理(例如提交參數/表單,或者上傳文件)。可能會對數據進行操作和提交信心,創建資源。

PUT

向指定資源位置上傳其最新內容。

DELETE

顧名思義,請求服務器刪除 URI 所對應的資源。

HEAD

與 GET 方法一樣,都是向服務器發出指定資源的請求。只不過服務器將不傳回資源的本文部分。它的好處在于,使用這個方法可以在不必傳輸全部內容的情況下,就可以獲取其中“關于該資源的信息”(元信息或稱元數據)。

TRACE

回顯服務器收到的請求,主要用于測試或診斷。

OPTIONS

這個方法可使服務器傳回該資源所支持的所有 HTTP 請求方法。用'*'來代替資源名稱,向 Web 服務器發送 OPTIONS 請求,可以測試服務器功能是否正常運作。

CONNECT

HTTP/1.1 協議中預留給能夠將連接改為管道方式的代理服務器。通常用于 SSL 加密服務器的鏈接(經由非加密的 HTTP 代理服務器)。

4. GET 和 POST 的區別

1.參數攜帶位置不同。

GET 提交的數據會附加家 URL 之后(即把數據放在請求行中),會在地址欄中顯示,接?=傳值,多個參數用&連接。POST 提交的數據放在 HTTP 包體中,地址欄不顯示。

2.傳輸數據大小限制不同。

不同瀏覽器對 URL 的長度有限制,因此對于 GET 提交時,傳輸數據就會受到URL 長度的限制。POST 由于不是通過 URL 傳值,理論上數據不受限。

3.POST 的安全性要比 GET 的安全性高。因為瀏覽器可能對請求地址做歷史記錄的存儲,對于 GET 請求的登錄,那其他人就可以直接在 URL 上拿到你的賬號和密碼了,而 POST 拿不到參數。

5. HTTP 請求信息

客戶端發送一個 HTTP 請求到服務的請求信息包括以下格式:

請求行(request line)、請求頭(header,常用于存放 token)、空行和請求數據四個部分。

例如:

  1. GET /8669504-c2641e8e6eed5904.png HTTP/1.1 
  2. Host    www.jianshu.com 
  3. User-Agent    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 
  4. Accept    image/webp,image/,/*;q=0.8 
  5. Referer  www.jianshu.com 
  6. Accept-Encoding    gzip, deflate, sdch 
  7. Accept-Language    zh-CN,zh;q=0.8 
  8. name=Professional%20Ajax&publisher=lili 
  1. 第一行請求行,用來說明請求類型,要訪問的資源以及所使用的HTTP版本。
  2. 第二部分,大括號之間的請求頭部,用于提交服務器的附加信息。
  3. 第三部分,空行,請求頭部后面的空行是必須的。
  4. 第四部分,請求數據也叫主體,可以添加任意的其他數據。

6. HTTP 響應信息

服務器接受請求回傳響應信息也由四分部組成:

狀態行,消息報頭,空行和響應正文。

例如:

  1. 第一行包括協議版本號,返回狀態碼
  2. 第二行為響應日期時間
  3. 第三行為響應消息報頭,Content-Type: 指定了 MIME 類型的 HTML(text/html),編碼類型是 UTF-8
  4. 響應正文,服務器返回給客戶端的文本信息。

7. HTTP 狀態碼

狀態碼有三位數字,第一數字表示當前相應的類型,各個類型有:

  • 1xx消息——請求已被服務器接受,繼續處理
  • 2xx成功——請求已成功被服務器接收(如見到就像親人的200,201)
  • 3xx重定向——需要后續操作才能完成這一請求
  • 4xx請求錯誤——客戶端錯誤:請求含有詞法錯誤或無法被執行(如見到就想暴走的404 Not Found)
  • 5xx服務器錯誤——服務端錯誤:服務器在處理某個正確請求時發生錯誤(如一見到就想找后臺的500)

常見的狀態碼如下:

  • 200 OK:客戶端請求成功
  • 400 Bad Request:客戶端請求有語法錯誤,不能被服務器所理解
  • 401 Unauthorized:請求未經授權,這個狀態代碼必須和 WWW-Authenticate 報頭域一起使用
  • 403 Forbidden:服務器收到請求,但是拒絕提供服務
  • 500 Internal Server Error:服務器發生不可預期的錯誤
  • 503 Server Unavailable:服務器當前不能處理客戶端的請求,一段時間后可能恢復正常

8. 總結HTTP一次請求的完整過程

  1. 客戶端與服務端建立 TCP 連接
  2. 通過 TCP 套接字連接,發送 HTTP 請求
  3. 服務器解析請求,定位請求資源,將查詢資源然后返回 HTML 文本數據,由客戶端讀取。
  4. 釋放 TCP 連接
  5. 客戶端瀏覽器解析 HTML 內容

瀏覽器輸入網站發生的事件:

  1. 瀏覽器向 DNS 服務器請求解析該 URL 中的域名所對應的 IP 地址;
  2. 解析出 IP 地址后,根據該 IP 地址和默認端口 80,和服務器建立 TCP 連接;
  3. 瀏覽器發出讀取文件(URL 中域名后面部分對應的文件)的 HTTP 請求,該請求報文作為 TCP 三次握手的第三個報文的數據發送給服務器;
  4. 服務器對瀏覽器請求作出響應,并把對應的 html 文本發送給瀏覽器;
  5. 釋放 TCP 連接;
  6. 瀏覽器將該 html 文本并顯示內容;

以上是 Http 的全部總結,該篇文章不斷完善不斷更新。

 

責任編輯:姜華 來源: 網羅開發
相關推薦

2022-07-11 07:10:48

HTTP協議類型

2021-01-07 05:40:13

BLE模塊Android

2023-12-07 08:13:58

Java開發

2020-02-20 08:30:49

OSPF網絡協議路由協議

2018-06-21 07:25:04

2019-09-17 09:31:10

2024-01-18 09:07:04

Errors函數Golang

2023-12-11 07:40:00

CDN網絡服務器

2023-06-08 11:57:15

Matter協議家庭智能

2019-11-25 12:38:14

混合云云計算企業

2015-11-06 09:39:52

2025-01-21 00:00:00

權限模型RBAC

2024-12-26 08:42:37

2015-11-06 10:52:51

2021-08-29 18:01:57

HTTP協議版本

2020-07-06 12:09:24

DNS域名系統IP地址

2019-05-12 14:35:03

惡意軟件網絡攻擊網絡安全

2024-01-09 07:42:46

Shutil 模塊Python 編程工具

2010-09-03 12:20:54

數據庫

2020-02-11 17:39:44

RSAC信息安全會議RSA大會
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天干天天插天天 | 国产美女一区二区 | 一区二区高清 | www.蜜桃av.com| 成人精品一区二区三区中文字幕 | 免费 视频 1级 | 男女国产视频 | www.婷婷 | 午夜免费网站 | 欧美午夜精品 | 国产精品日韩在线观看 | 亚洲一区二区三区免费 | www.日本三级 | 日韩精品免费视频 | 欧美精品中文字幕久久二区 | 91久久久www播放日本观看 | 亚洲区一区二 | 在线观看成人免费视频 | 日韩久久久久久 | 国产成人免费视频 | 精品乱码一区二区三四区视频 | 国产精品毛片无码 | 欧美在线视频一区二区 | 中文字幕在线不卡播放 | 久久久久久国产一区二区三区 | 日韩中文一区二区三区 | 国产精品久久网 | 国产乱码精品一品二品 | 亚洲精品久久久久久下一站 | 国产精品久久久久久久久久妇女 | 高清久久久 | 国产91精品网站 | 亚洲综合国产精品 | 亚洲欧美日韩成人在线 | 国产精品国产三级国产aⅴ浪潮 | www.日本在线播放 | 成人免费视频网 | 成人av片在线观看 | 99国产精品99久久久久久 | 自拍视频在线观看 | 精品伊人 |