日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

HTTP協議 超文本傳輸協議 由萬維網制定(w3c)

是瀏覽器與服務器通訊的應用層協議,規定了瀏覽器與服務器之間的交互規則以及交互數據的格式信息等。

Http超文本傳輸協議

報文

HTTP協議對于客戶端與服務端之間的交互規則有以下定義:

要求瀏覽器與服務端之間必須遵循一問一答的規則,即:瀏覽器與服務端建立TCP連接后需要先發送一個請求(問)然后服務端接收到請求并予以處理后再發送響應(答)。注意,服務端永遠不會主動給瀏覽器發送信息。

HTTP要求瀏覽器與服務端的傳輸層協議必須是可靠的傳輸,因此是使用TCP協議作為傳輸層協議的。

  • HTTP協議對于瀏覽器與服務端之間交互的數據格式,內容也有一定的要求。
  • 瀏覽器給服務端發送的內容稱為請求Request
  • 服務端給瀏覽器發送的內容稱為響應Response
Http超文本傳輸協議

http協議

請求和響應中大部分內容都是文本信息(字符串),并且這些文本數據使用的字符集為:ISO8859-1.這是一個歐洲的字符集,里面是不支持中文的!!!。而實際上請求和響應出現的字符也就是英文,數字,符號。

請求Request

請求是瀏覽器發送給服務端的內容,HTTP協議中一個請求由三部分構成:

分別是:請求行,消息頭,消息正文。消息正文部分可以沒有。

Http超文本傳輸協議

請求部分

1:請求行

  • 請求行是一行字符串,以連續的兩個字符(回車符和換行符)作為結束這一行的標志。
  • 回車符:在ASC編碼中2進制內容對應的整數是13.回車符通常用cr表示。
  • 換行符:在ASC編碼中2進制內容對應的整數是10.換行符通常用lf表示。
  • 回車符和換行符實際上都是不可見字符。

請求行分為三部分:

  • 請求方式(SP)抽象路徑(SP)協議版本(CRLF) 注:SP是空格
  • GET /myweb/index.html HTTP/1.1
  • GET / HTTP/1.1

URL地址格式:

  • 協議://主機地址信息/抽象路徑
  • http://localhost:8088/TeduStore/index
  • GET /TeduStore/index.html HTTP/1.1

2:消息頭

消息頭是瀏覽器可以給服務端發送的一些附加信息,有的用來說明瀏覽器自身內容,有的用來告知服務端交互細節,有的告知服務端消息正文詳情等。

  1. 消息頭由若干行組成,每行結束也是以CRLF標志。
  2. 每個消息頭的格式為:消息頭的名字(:SP)消息的值(CRLF)
  3. 消息頭部分結束是以單獨的(CRLF)標志。
//例如:
Host: localhost:8088(CRLF)
Connection: keep-alive(CRLF)
Upgrade-Insecure-Requests: 1(CRLF)
User-Agent: Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36(CRLF)
Sec-Fetch-User: ?1(CRLF)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng;q=0.8,application/signed-exchange;v=b3;q=0.9(CRLF)

Sec-Fetch-Site: none(CRLF)
Sec-Fetch-Mode: navigate(CRLF)
Accept-Encoding: gzip, deflate, br(CRLF)
Accept-Language: zh-CN,zh;q=0.9(CRLF)(CRLF)

3:消息正文

消息正文是2進制數據,通常是用戶上傳的信息,比如:在頁面輸入的注冊信息,上傳的附件等內容。

GET /myweb/index.html HTTP/1.1
Host: localhost:8088
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng;q=0.8,application/signed-exchange;v=b3;q=0.9

Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
1010101101001.....

HTTP響應Response

響應是服務端發送給客戶端的內容。一個響應包含三部分:狀態行,響應頭,響應正文

1:狀態行

狀態行是一行字符串(CRLF結尾),并且狀態行由三部分組成,格式為:

protocol(SP)statusCode(SP)statusReason(CRLF)

協議版本(SP)狀態代碼(SP)狀態描述(CRLF)

狀態代碼是一個3位數字,分為5類:

  1. 1xx:保留
  2. 2xx:成功,表示處理成功,并正常響應
  3. 3xx:重定向,表示處理成功,但是需要瀏覽器進一步請求
  4. 4xx:客戶端錯誤,表示客戶端請求錯誤導致服務端無法處理
  5. 5xx:服務端錯誤,表示服務端處理請求過程出現了錯誤

具體的數字在HTTP協議手冊中有相關的定義,可參閱。

Http超文本傳輸協議

常用狀態圖

響應頭: 響應頭與請求中的消息頭格式一致,表示的是服務端發送給客戶端的附加信息。

響應正文: 2進制數據部分,包含的通常是客戶端實際請求的資源內容。

響應的大致內容:
HTTP/1.1 200 OK(CRLF)
Content-Type: text/html(CRLF)
Content-Length: 2546(CRLF)(CRLF)
1011101010101010101......

兩個響應頭:

Content-Type是用來告知瀏覽器響應正文中的內容是什么類型的數據(圖片,頁面等等)不同的類型對應的值是不同的,比如:

常見的媒體格式類型如下:

  • text/html : HTML格式
  • text/plain :純文本格式
  • text/xml : XML格式
  • image/gif :gif圖片格式
  • image/jpeg :jpg圖片格式
  • image/png:png圖片格式

以application開頭的媒體格式類型:

  • application/xhtml+xml :XHTML格式
  • application/xml : XML數據格式
  • application/atom+xml :Atom XML聚合格式
  • application/json : JSON數據格式
  • application/pdf :pdf格式
  • application/msword : Word文檔格式
  • application/octet-stream : 二進制流數據(如常見的文件下載)
  • application/x-www-form-urlencoded : <form encType=””>中默認的encType,form表單數據被編碼為key/value格式發送到服務器(表單默認的提交數據的格式)

get和post的區別

  1. GET提交的數據會放在URL之后,以‘?’分割URL和傳輸數據,參數之間以&相連,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的數據放在HTTP包的Body中.
  2. GET提交的數據大小有限制(因為瀏覽器對URL的長度有限制),而POST方法提交的數據沒有限制.
  3. GET方式需要使用Request.QueryString來取得變量的值,而POST方式通過Request.Form來獲取變量的值。
  4. GET方式提交數據,會帶來安全問題,比如一個登錄頁面,通過GET方式提交數據時,用戶名和密碼將出現在URL上,如果頁面可以被緩存或者其他人可以訪問這臺機器,就可以從歷史記錄獲得該用戶的賬號和密碼.

HTTP 與 HTTPS 區別

  1. HTTP 明文傳輸,數據都是未加密的,安全性較差,HTTPS(SSL+HTTP) 數據傳輸過程是加密的,安全性較好。
  2. 使用 HTTPS 協議需要到 CA(Certificate Authority,數字證書認證機構) 申請證書,一般免費證書較少,因而需要一定費用。證書頒發機構如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
  3. HTTP 頁面響應速度比 HTTPS 快,主要是因為 HTTP 使用 TCP 三次握手建立連接,客戶端和服務器需要交換 3 個包,而 HTTPS除了 TCP 的三個包,還要加上 ssl 握手需要的 9 個包,所以一共是 12 個包。
  4. http 和 https 使用的是完全不同的連接方式,用的端口也不一樣,前者是 80,后者是 443。
  5. HTTPS 其實就是建構在 SSL/TLS 之上的 HTTP 協議,所以,要比較 HTTPS 比 HTTP 要更耗費服務器資源。
Http超文本傳輸協議

https與http

UDP協議和TCP協議都是傳輸層的協議,TCP協議提供可靠的通信傳輸,而UDP則是常常被用于讓廣播和細節控制的交給應用的通信傳輸

Http超文本傳輸協議

tcp與udp

學習記錄,如有侵權請聯系刪除

分享到:
標簽:超文本 傳輸協議
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定