Nginx之HTTP協議介紹(一)

2021-10-25 06:24:16 字數 2517 閱讀 9087

http協議是hyper text transfer protocol(超文字傳輸協議)的縮寫,是用於從全球資訊網(www:world wide web )伺服器傳輸超文字到本地瀏覽器的傳送協議。

http是乙個基於tcp/ip通訊協議來傳遞資料(html 檔案, 檔案, 查詢結果等)。

http協議工作於客戶端-服務端架構上。瀏覽器作為http客戶端通過url向http服務端即web伺服器傳送所有請求。

web伺服器有:nginx,apache伺服器,iis伺服器(internet information services)等。

web伺服器根據接收到的請求後,向客戶端傳送響應資訊。

http預設埠號為80,但是你也可以改為8080或者其他埠。

http三點注意事項:

以下圖表展示了http協議通訊流程:

http是基於客戶端/服務端(c/s)的架構模型,通過乙個可靠的鏈結來交換資訊,是乙個無狀態的請求/響應協議。

乙個http"客戶端"是乙個應用程式(web瀏覽器或其他任何客戶端),通過連線到伺服器達到向伺服器傳送乙個或多個http的請求的目的。

乙個http"伺服器"同樣也是乙個應用程式(通常是乙個web服務,如apache web伺服器或iis伺服器等),通過接收客戶端的請求並向客戶端傳送http響應資料。

http使用統一資源識別符號(uniform resource identifiers, uri)來傳輸資料和建立連線。

客戶端傳送乙個http請求到伺服器的請求訊息包括以下格式:請求行(request line)、請求頭部(header)、空行和請求資料四個部分組成,下圖給出了請求報文的一般格式。

http響應也由四個部分組成,分別是:狀態行、訊息報頭、空行和響應正文。

例項

下面例項是一點典型的使用get來傳遞資料的例項:

客戶端請求:

# curl -v 

connected to www.testpm.cn (47.244.247.240) port 80 (#0)

> get /hello.txt http/1.1 # 請求方式與版本協議。

> user-agent: curl/7.29.0 #用什麼客戶端訪問

> host: www.testpm.cn #主機名,網域名稱。主機和埠號,

> accept: */* #匹配什麼檔案型別,「*」 是通用匹配。匹配所有型別

服務端響應:

< http/1.1 200 ok       #請求返回的狀態碼

< server: nginx/1.16.0 #請求的服務和版本號

< date: thu, 04 jul 2019 08:19:40 gmt

< content-type: text/plain #文字型別,有html,plain:普通文字

< content-length: 12

< last-modified: thu, 04 jul 2019 08:13:25 gmt

< connection: keep-alive #是否支援長連線

< etag: "5d1db525-c" #標識,每次訪問如果與最開始的一樣返回304否則校驗不一致返回200

< accept-ranges: bytes

輸出結果:

hello world
根據http標準,http請求可以使用多種請求方法。

http1.0定義了三種請求方法: get, post 和 head方法。

http1.1新增了五種請求方法:options, put, delete, trace 和 connect 方法。

當瀏覽者訪問乙個網頁時,瀏覽者的瀏覽器會向網頁所在伺服器發出請求。當瀏覽器接收並顯示網頁前,此網頁所在的伺服器會返回乙個包含http狀態碼的資訊頭(server header)用以響應瀏覽器的請求。

http狀態碼的英文為http status code。

下面是常見的http狀態碼:

http狀態碼分類

http狀態碼由三個十進位制數字組成,第乙個十進位制數字定義了狀態碼的型別,後兩個數字沒有分類的作用。http狀態碼共分為5種型別:

詳解 HTTP協議 (一) HTTP 介紹

http 簡介 http協議是hyper text transfer protocol 超文字傳輸協議 的縮寫,是用於從全球資訊網 www world wide web 伺服器傳輸超文字到本地瀏覽器的傳送協議。http是乙個基於tcp ip通行協議來傳遞資料 html檔案 檔案 查詢結果等 http...

http協議介紹

http協議是建立在tcp ip協議基礎上 http協議全稱 超文字傳輸協議 http協議1.0 1.1版本 目前通用的是1.1版本 http1.0 稱為短連線 http1.1 稱為長連線.所謂長,和短指的是 持續時間的 長連線 1.1 30s 短連線是傳送完資料就斷掉.http的請求部分 基本結構...

HTTP協議介紹

http概述 超文字傳輸協議基於tcp ip通訊協議來傳遞資料 如html檔案,結果 是乙個屬於應用層的物件導向的協議,由於簡捷,快速的方式適用於分布式超 資訊系統 工作於客戶端 伺服器架構 c s架構 瀏覽器作為客戶端通過url向http服務端即web伺服器傳送所有請求 http主要特點 簡單快速...