計算機網絡 — HTTP(請求Request與響應Response)


歡迎訪問筆者個人技術博客:http://rukihuang.xyz/

一、HTTP概述

  • 超文本傳輸協議(Hyper Text Transfer Protocol)
  • 用於從萬維網服務器傳輸超文本到本地瀏覽器的傳輸協議
  • HTTP協議是基於TCP的應用層協議,它不關心數據傳輸的細節,主要是用來規定客戶端和服務器的數據傳輸格式,最初是用來向客戶端傳輸HTML頁面的內容。默認端口是80。
  • http是基於請求與響應模式的、無狀態的、應用層的協議。

在這裏插入圖片描述

二、HTTP請求報文

2.1 請求報文概述(Request)

  • HTTP請求報文主要由四部分組成
    • 請求行:
    • 請求頭:附加的信息,需要服務器知道的一些信息
    • 空一行
    • 請求體get請求方式沒有請求體,post請求體中存放需要提交的數據)

img

在這裏插入圖片描述

2.2 請求行

2.2.1 請求方法(Request Method)

請求方法 描述
GET 請求資源
POST 提交資源
Head 獲取響應頭
PUT 替換資源
DELETE 刪除資源
OPTIONS 允許客戶端查看服務器的性能
TRACE 回顯服務器收到的請求,用於測試或診斷
CONNECT HTTP/1.1協議中預留給能夠將連接改爲管道方式的代理服務器

2.2.2 URL

  • 統一資源定位符:Uniform Resource Locator
    • 用於描述網上的資源
  • 格式:schema://hosr[:port]/path/.../[?query-string]
    • schema:協議,如http,https,ftp
    • host:域名或者ip地址
    • port:端口
    • path:資源路徑
    • query-string:發送的參數

2.3 請求頭(Request Header)

請求頭 描述
Host 主機ip地址或域名
User-Agent 客戶端相關信息,如操作系統、瀏覽器等信息
Accept 指定客戶端接收信息類型,如image/jpg,text/html,application/json
Accept-Charset 客戶端接收的字符集,如gb2312,iso-8859-1
Accept-Encoding 可接受的內容編碼,如gzip
Accept-Language 接收的語言,如Accept-Language:zh-cn
Authorization 客戶端提供給服務端,進行權限認證的信息
Cookie 攜帶的cookie信息
Referer 當前文檔的URL,即從哪個鏈接過來的
Content-Type 請求體內容類型,如Content-Type:application/json
Content-Length 數據長度
Cache-Control 緩存機制,如Cache-Control:no-cache
Pragma 放置頁面被緩存,和Cache-Control:no-cache作用一樣

三、HTTP響應報文

3.1 響應報文概述(Response)

  • HTTP響應報文主要有四部分組成
    • 響應行(狀態行)
    • 響應頭
    • 空行
    • 響應體(正文)

img

在這裏插入圖片描述

3.2 狀態碼(Status Code)

  • 狀態碼用以表示網頁服務器HTTP響應狀態的3位數字代碼
狀態碼 描述
1xx 提示信息,請求被成功接收(中間狀態,一般觀察不到)
2xx 成功,請求被成功處理(200 ok)
3xx 重定向相關(304 緩存)
4xx 客戶端錯誤(404 資源路徑有誤)
5xx 服務器端錯誤(500 程序有錯)

3.3 響應頭(Response Header)

響應頭 描述
Server HTTP服務器的軟件信息
Date 響應報文的時間
Expires 指定緩存過期時間
Set-Cookie 設置cookie
Last-Modified 資源最後修改時間
Content-Type 響應的類型和字符集,如ContentType:text/html;Charset=utf-8
Content-Length 內容長度
Connection 如Keep-Alive,表示保持tcp連接不關閉,不會永久保持連接,服務器可設置
Location 指明重定向的位置,新的url地址,如304情況
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章