国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

HTTP協(xié)議概述

這篇具有很好參考價值的文章主要介紹了HTTP協(xié)議概述。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

HTTP 協(xié)議定義

HTTP協(xié)議,直譯為超文本傳輸協(xié)議,是一種用于分布式、協(xié)作、超媒體的信息系統(tǒng)的應(yīng)用協(xié)議。HTTP協(xié)議是萬維網(wǎng)數(shù)據(jù)通信的基礎(chǔ)。HTTP協(xié)議在客戶端-服務(wù)器計算模型中充當(dāng)請求-響應(yīng)協(xié)議??蛻舳讼蚍?wù)器提交HTTP請求消息。服務(wù)器提供HTML文件和其他內(nèi)容等資源,或代表客戶端執(zhí)行其他功能,并向客戶端返回響應(yīng)消息。
下面是維基百科對HTTP協(xié)議的定義:

The Hypertext Transfer Protocol(HTTP) is an application protocol for distributed, collaborative, hypermedia 
information systems. HTTP is the foundation of data communication for the World Wide Web, where hypertext 
documents include hyperlinks to other resources that the user can easily access, for example by a mouse click 
or by tapping the screen in a web browser.

此外,還有medium網(wǎng)站rcrohitcse提供的HTTP協(xié)議的定義:

HTTP functions as a request–response protocol in the client–server computing model. A web browser, for example, 
may be the client and an application running on a computer hosting a website may be the server. 
The client submits an HTTP request message to the server. The server, which provides resources such as HTML 
files and other content, or performs other functions on behalf of the client, returns a response message to
the client. The response contains completion status information about the request and may also contain requested
content in its message body.  

HTTP 協(xié)議標(biāo)準(zhǔn)可以參考官網(wǎng)。HTTP協(xié)議的主要特點可概括如下:
(1) 支持客戶/服務(wù)器模式(現(xiàn)在更多的應(yīng)用在瀏覽器-服務(wù)器模式中)。
(2) 簡單快速:客戶向服務(wù)器請求服務(wù)時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類型不同。由于HTTP協(xié)議簡單,使得HTTP服務(wù)器的程序規(guī)模小,因而通信速度很快。
(3) 靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象。正在傳輸?shù)念愋陀?strong>Content-Type加以標(biāo)記。
(4) 無連接:無連接的含義是限制每次連接只處理一個請求。服務(wù)器處理完客戶的請求,并收到客戶的應(yīng)答后,即斷開連接。采用這種方式可以節(jié)省傳輸時間。
(5) 無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議。無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時它的應(yīng)答就較快。(使用Cookie和Sesseion記錄數(shù)據(jù))

超媒體簡介

超媒體是由Fred Nelson在1965年定義。超媒體是對超文本的擴展,即通過點擊網(wǎng)絡(luò)瀏覽器上的文本鏈接打開新網(wǎng)頁的能力。超媒體通過允許用戶點擊圖像、電影、圖形和除文本之外的其他媒體來創(chuàng)建非線性信息網(wǎng)絡(luò),從而對此進行了擴展。原文定義如下:

Hypermedia is an extension to what is known as hypertext, or the ability to open new Web pages by clicking text links
on a Web browser. Hypermedia extends upon this by allowing the user to click images, movies, graphics and other media 
apart from text to create a nonlinear network of information. The term was coined by Fred Nelson in 1965.

用一句話來概述,Hypermedia(超媒體) = 超文本 + 多媒體。

超文本

超文本是用超鏈接的方法,將各種不同空間的文字信息組織在一起的網(wǎng)狀文本。超文本是一種用戶界面范式,用以顯示文本及與文本之間相關(guān)的內(nèi)容。超文本普遍以電子文檔方式存在,其中的文字包含有可以鏈接到其他位置或者文檔的連結(jié),允許從當(dāng)前閱讀位置直接切換到超文本連結(jié)所指向的位置。超文本的格式有很多,目前最常使用的是超文本標(biāo)記語言(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)及富文本格式。

多媒體

多媒體是多種媒體的綜合,一般包括文本,聲音和圖像等多種媒體形式。在計算機系統(tǒng)中,多媒體指組合兩種或兩種以上媒體的一種人機交互式信息交流和傳播媒體。使用的媒體包括文字、圖片、照片、聲音 、動畫和影片,以及程序所提供的互動功能。

HTTP 工作原理簡介

HTTP 協(xié)議采用了請求/響應(yīng)模型。客戶端向服務(wù)器發(fā)送一個請求報文,請求報文包含請求的方法、URL、協(xié)議版本、請求頭和請求數(shù)據(jù)。服務(wù)器以一個狀態(tài)行作為響應(yīng),響應(yīng)的內(nèi)容包括協(xié)議的版本、成功或者錯誤代碼、服務(wù)器信息、響應(yīng)頭部和響應(yīng)數(shù)據(jù)。請求/響應(yīng)模型示例如下:
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)
HTTP 請求/響應(yīng)一般可分為六步:(1) 建立TCP連接;(2) 發(fā)送HTTP請求;(3) 服務(wù)器處理請求;(4) 返回HTTP響應(yīng);(5) 釋放TCP連接;(6) 瀏覽器解析返回的資源和數(shù)據(jù)。更詳細的介紹可以參考筆者瀏覽器輸入URL后的執(zhí)行過程一文。

(1) 建立TCP連接

一個HTTP客戶端,通常是瀏覽器,主動與Web服務(wù)器的HTTP端口(默認為80)建立一個TCP套接字連接。TCP連接建立的過程也被稱為“三次握手”。

(2) 發(fā)送HTTP請求

通過TCP三次握手建立好連接后,瀏覽器便可以將HTTP請求報文發(fā)送給服務(wù)器。一個請求報文由請求行、請求頭部、空行和請求數(shù)據(jù)4部分組成。

(3) 服務(wù)器處理請求

Web服務(wù)器解析請求,定位請求資源。再通過相應(yīng)的這些資源文件處理用戶請求和參數(shù),并調(diào)用數(shù)據(jù)庫信息,最后將結(jié)果通過Web服務(wù)器返回給瀏覽器。

(4) 返回HTTP響應(yīng)

Web服務(wù)器將資源復(fù)本寫到TCP套接字,由客戶端讀取。一個響應(yīng)報文由響應(yīng)行、響應(yīng)頭部、空行和響應(yīng)數(shù)據(jù)4部分組成。

(5) 釋放TCP連接

若connection 模式為close,則服務(wù)器主動關(guān)閉TCP連接,客戶端被動關(guān)閉連接,釋放TCP連接;若connection 模式為keepalive,則該連接會保持一段時間,在該時間內(nèi)可以繼續(xù)接收請求。TCP連接的釋放也被稱為“四次揮手”。

(6) 瀏覽器解析返回的資源和數(shù)據(jù)

瀏覽器首先解析狀態(tài)行,查看請求是否成功的狀態(tài)碼。然后解析每一個響應(yīng)頭,響應(yīng)頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集。瀏覽器讀取響應(yīng)數(shù)據(jù)html,根據(jù)html的語法對其進行格式化,并在瀏覽器窗口中顯示。

HTTP URL

URL全稱是Uniform Resource Locator,中文叫統(tǒng)一資源定位符,用來唯一標(biāo)識某一處資源在Internet的位置,從而實現(xiàn)Internet上資源的定位。接下來以下面的URL(faked url)為例,介紹下URL的各部分組成:

http://user:password@www.github.com:8080/news/index.html?boardID=5&ID=24618&page=1#uniformresourcelocator   

一個完整的URL包括以下幾部分:
(1) 協(xié)議:必填,指定使用的傳輸協(xié)議,如HTTP、HTTPS、FTP等。顯然,示例URL使用的傳輸協(xié)議是HTTP協(xié)議。此外,協(xié)議后面的“//”為分隔符。
(2) 登錄信息: 可選,用戶名和密碼作為從服務(wù)器端獲取資源時必要的登錄信息(身份認證)。注意,這種寫法已棄用,用戶名和密碼信息一般都通過token驗證。
(3) 服務(wù)器地址:必填,可以是域名,如“www.github.com”,也可以是IP,如127.0.0.1(local host)。
(4) 端口:可選,指定待連接服務(wù)器的網(wǎng)絡(luò)端口,若省略則使用該協(xié)議的默認端口(如http協(xié)議的默認端口是80,https協(xié)議的默認端口是443, ftp協(xié)議的默認端口是21)。服務(wù)器地址和和端口之間使用“:”作為分隔符。
(5) 文件路徑:可選,指定服務(wù)器上的路徑來定位指定資源。文件路徑可細分為兩部分:虛擬目錄部分和文件名部分。其中虛擬目錄部分是指從域名后的第一個“/”開始到最后一個“/”的部分。本例中的虛擬目錄是“/news/”。文件名部分是指從域名后的最后一個“/”開始到“?”的部分;如果沒有“?”, 則是從域名后的最后一個“/”開始到“#”的部分;如果沒有“?”和“#”,那么從域名后的最后一個“/”開始到結(jié)束,都是文件名部分。本例中的文件名是“index.html”。
(6) 參數(shù): 可選,從“?”到“#”之間的部分為參數(shù)部分,用于給動態(tài)網(wǎng)頁(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技術(shù)制作的網(wǎng)頁)傳遞參數(shù)。多個參數(shù)使用“&”符號隔開,每個參數(shù)的名和值用“=”符號隔開。本例中的參數(shù)部分為“boardID=5&ID=24618&page=1”。
(7) 片段:可選,“#”之后的部分都是片段。片段用于指定網(wǎng)絡(luò)資源中的片段。html頁面中片段則是錨點(Anchor)。本例中的錨點是“uniformresourcelocator”。

URI、URL 和 URN 的區(qū)別

在介紹URI、URL 和 URN的區(qū)別前,先對URI和URN進行一個簡單的介紹。
(1) URI
URI 全稱是 Universal Resource Identifier,中文翻譯是統(tǒng)一資源標(biāo)識符。URI 是一個用于標(biāo)識資源的字符串。用戶可通過使用這種標(biāo)識符對網(wǎng)絡(luò)中(一般指萬維網(wǎng))的資源通過特定的協(xié)議進行交互操作。如超文本,郵件地址,Internet主機,或其他互聯(lián)網(wǎng)資源。URI的最常見的形式是URL。更罕見的用法是URN。URI范式圖示如下:
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)
(2) URN
URN 全稱是 Uniform Resource Name,中文翻譯是統(tǒng)一資源名稱。URN 是一個通過名字來標(biāo)識資源的字符串。URN 僅命名資源但不指定如何定位資源,比如:只告訴你一個人的姓名,不告訴你這個人在哪。URN 示例如下:

urn:issn:1535-3613 (國際標(biāo)準(zhǔn)期刊編號)
urn:isbn:9787115318893 (國際標(biāo)準(zhǔn)圖書編號)

(3) URI、URL、 URN的區(qū)別
簡單來說,URI 用來標(biāo)識資源的唯一性,URL 則用來通過一個唯一的地址定位一個資源;URN 則通過一個唯一的名稱命名一個資源。注意,URN開頭必須使用"urn"這一特殊符號來標(biāo)識。
URI是URL和URN的超集。URL是URI的子集,除了識別資源外,還通過描述其主要訪問機制(例如其網(wǎng)絡(luò)“位置”)來提供定位資源的手段。URN也是URI的子集,是一個通過名字來標(biāo)識資源的字符串。對于URN來說,即使資源不再存在或變得不可用,也需要保持全局唯一性和持久性。下面是URI 官方文檔給出三者區(qū)別的原文:

A URI can be further classified as a locator, a name, or both. The term "Uniform Resource Locator" (URL) refers to the
 subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing 
its primary access mechanism(e.g., its network "location").  The term "Uniform Resource Name" (URN) has been used
historically to refer to both URIs under the "urn" scheme [RFC2141], which are required to remain globally unique and 
persistent even when the resource ceases to exist or becomes unavailable, and to any other URI with the properties of a name.  

URI、URL、 URN 三者差異的圖示如下:
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

HTTP Request

HTTP Request(HTTP 請求)是客戶端向服務(wù)端發(fā)送請求動作,告知服務(wù)器自己的要求。HTTP請求由狀態(tài)行消息頭、空行消息正文四個部分組成。其中,狀態(tài)行包括請求方式Method、資源路徑URL、協(xié)議版本Version;消息頭包括一些訪問的域名、用戶代理、Cookie等信息;消息正文就是HTTP請求的數(shù)據(jù);空行位于消息頭和消息正文之間,用于分隔消息頭和消息正文。HTTP 請求結(jié)構(gòu)如下:
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

(1) 狀態(tài)行

狀態(tài)行在 HTTP 請求中也被稱為“請求行”,包含請求方法、資源路徑URL、協(xié)議版本三個部分。其中:
(a) 請求方法(GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT、PATCH)的說明及使用可參考HTTP請求方法一節(jié);
(b) 資源路徑URL就是用來定位資源在Internt的位置,更多URL相關(guān)介紹參考HTTP URL一節(jié);
? 協(xié)議版本指明當(dāng)前使用HTTP協(xié)議版本,更多HTTP協(xié)議介紹參考HTTP協(xié)議版本發(fā)展一節(jié)。

(2) 消息頭

消息頭在 HTTP 請求中也被稱為“請求頭”。消息頭由一系列鍵值對組成。包括訪問的域名、用戶代理、Cookie等信息。這里介紹一些常用鍵值對。
Host 是請求報頭域,用于指定被請求資源的 Internet 主機和端口號,它通常從 HTTP URL 中提取出來。
Connection 表示連接狀態(tài),keep-alive 表示該連接是持久連接(persistent connection),即 TCP 連接默認不關(guān)閉,可以被多個請求復(fù)用,如果客戶端和服務(wù)器發(fā)現(xiàn)對方有一段時間沒有活動,就可以主動關(guān)閉連接。
User-Agent 用于標(biāo)識請求者的一些信息,比如瀏覽器類型和版本,操作系統(tǒng)等。
Accept 用于指定客戶端希望接受哪些類型的信息,比如 text/html, image/gif 等。
Cookie 用于維護狀態(tài),可做用戶認證,服務(wù)器檢驗等,它是瀏覽器儲存在用戶電腦上的文本片段。更多Cookie的介紹參考Cookie和Session一節(jié)。
Chrome Dev Tool的network捕獲的請求頭的實例如下:
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

(3) 消息正文

消息正文,也稱“請求正文”,記錄請求消息主體。

HTTP Response

HTTP Response(HTTP 響應(yīng))是服務(wù)器返回給客戶端已發(fā)送HTTP請求的執(zhí)行結(jié)果。HTTP 響應(yīng)和HTTP請求一樣,由四部分組成:狀態(tài)行消息頭、空行、消息正文。其中,狀態(tài)行包括協(xié)議版本Version、狀態(tài)碼Status Code、狀態(tài)消息等內(nèi)容;消息頭包括搭建服務(wù)器的軟件,發(fā)送響應(yīng)的時間,回應(yīng)數(shù)據(jù)的格式等信息;消息正文就是HTTP響應(yīng)的數(shù)據(jù)??招形挥谙㈩^和消息正文之間,用于分隔消息頭和消息正文。HTTP 響應(yīng)結(jié)構(gòu)如下:
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

(1)狀態(tài)行

狀態(tài)行在HTTP響應(yīng)中也被稱為“響應(yīng)行”。響應(yīng)行由HTTP協(xié)議版本號,狀態(tài)碼,狀態(tài)消息三部分組成。其中:
(a) 協(xié)議版本,與HTTP請求行中協(xié)議版本作用一致,用來指明當(dāng)前使用HTTP協(xié)議版本,更多HTTP協(xié)議介紹參考HTTP協(xié)議版本發(fā)展一節(jié);
(b) 狀態(tài)碼,用以表示服務(wù)器響應(yīng)狀態(tài)的三位數(shù)字代碼,更多信息參考HTTP狀態(tài)碼一節(jié)。

(2)消息頭

消息頭在 HTTP響應(yīng)中也被稱為“響應(yīng)頭”,與HTTP請求的請求頭一致,由一系列鍵值對組成。消息頭包括訪消息頭包括搭建服務(wù)器的軟件,發(fā)送響應(yīng)的時間,回應(yīng)數(shù)據(jù)的格式等信息。這里介紹一些常用鍵值對。
Connection 表示連接狀態(tài),和請求頭中該屬性作用一致。
Server 記錄服務(wù)器用來處理請求的軟件信息,跟請求報頭域 User-Agent 相對應(yīng)。
Content-Type 用于指定發(fā)送給接收者(如瀏覽器)響應(yīng)正文的MIME(媒體)類型,比如 text/html, text/css, image/png, image/jpeg, video/mp4, application/pdf, application/json 等,編碼類型是UTF-8。(實現(xiàn)超媒體的入口)
Content-Length 指明本次回應(yīng)的數(shù)據(jù)長度。
Date 生成響應(yīng)的日期和時間。
Chrome Dev Tool的network捕獲的請求頭的實例如下:
HTTP協(xié)議概述,計算機網(wǎng)絡(luò),http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

(3)消息正文

消息正文,也稱“響應(yīng)正文”,記錄響應(yīng)消息主體。

HTTP協(xié)議補充

補充HTTP協(xié)議中關(guān)聯(lián)概念,如HTTP協(xié)議版本發(fā)展,HTTP請求方,Cookie和Session,HTTP狀態(tài)碼等。

HTTP協(xié)議版本發(fā)展

(1) HTTP/0.9
1991年發(fā)布,是HTTP協(xié)議的最初版本,功能簡單,僅支持請求方式GET,并且僅能請求訪問HTML格式的資源。使用這個版本完全可以構(gòu)建一個簡單的靜態(tài)網(wǎng)站。
(2) HTTP/1.0
1996年發(fā)布。在0.9版本基礎(chǔ)上進行改進:增加了請求方式POST和HEAD;可根據(jù)Content-Type支持多種數(shù)據(jù)格式,即MIME多用途互聯(lián)網(wǎng)郵件擴展,如text/html、image/jpeg等;同時也開始支持cache,就是當(dāng)客戶端在規(guī)定時間內(nèi)訪問統(tǒng)一網(wǎng)站,直接訪問cache即可;請求消息和響應(yīng)消息也不是單一的,規(guī)定了一些元數(shù)據(jù)字段,例如:字符集、編碼、狀態(tài)碼等。 但是1.0版本的工作方式是每次TCP連接只能發(fā)送一個請求,當(dāng)服務(wù)器響應(yīng)后就會關(guān)閉這次連接,下一個請求需要再次建立TCP連接,就是不支持keep-alive。(僅支持多連接,不支持長連接)
(3) HTTP/1.1
1997年發(fā)布。在1.0 版本發(fā)布之后的半年時間發(fā)布了1.1版本。該版本在1.0版本的基礎(chǔ)上進行完善:解決了1.0版本的keep-alive問題(支持長連接,也成持久連接),加入了管道機制,這樣一個TCP連接可以包含多個HTTP請求;增加了PUT、PATCH、OPTIONS、DELETE等命令,豐富了客戶端和服務(wù)端交互動作;增加了Host字段等。
但是該版本還存在一些問題,服務(wù)端是按隊列順序處理請求的,假如一個請求處理時間很長,則會導(dǎo)致后邊的請求無法處理,這樣就造成了隊頭阻塞的問題;同時HTTP是無狀態(tài)的連接,因此每次請求都需要添加重復(fù)的字段,降低了帶寬的利用率。
當(dāng)前主流的協(xié)議版本還是HTTP/1.1版本。
(4) HTTP/2.0
2005年發(fā)布。為了解決1.1版本利用率不高的問題,提出了HTTP/2.0版本:增加雙工模式,即不僅客戶端能夠同時發(fā)送多個請求,服務(wù)端也能同時處理多個請求,解決了隊頭堵塞的問題;HTTP請求和響應(yīng)中,狀態(tài)行和請求/響應(yīng)頭都是些信息字段,并沒有真正的數(shù)據(jù),因此在2.0版本中將所有的信息字段建立一張表,為表中的每個字段建立索引,客戶端和服務(wù)端共同使用這個表,他們之間就以索引號來表示信息字段,這樣就避免了1.0舊版本的重復(fù)繁瑣的字段,并以壓縮的方式傳輸,提高利用率;增加服務(wù)器主動推送的功能,即不經(jīng)請求服務(wù)端主動向客戶端發(fā)送數(shù)據(jù)。

HTTP請求方法

根據(jù)HTTP標(biāo)準(zhǔn),HTTP請求可以使用多種請求方法。
HTTP0.9定義了 GET 請求方法。
HTTP1.0定義了 POST 和 HEAD請求方法。
HTTP1.1新增了 OPTIONS, PUT, DELETE, TRACE, CONNECT 和 PATCH請求方法。

GET         獲取資源。請求指定的頁面信息,并返回實體主體。  
HEAD        獲取響應(yīng)消息報頭。類似于get請求,只不過返回的響應(yīng)中沒有具體的內(nèi)容。  
POST        傳輸實體數(shù)據(jù)。向指定資源提交數(shù)據(jù)進行處理請求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請求體中。POST請求可能會導(dǎo)致新的資源的建立和/或已有資源的修改。  
DELETE      刪除資源。請求服務(wù)器刪除指定的頁面。  
PUT         傳輸文件。從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定文檔的內(nèi)容。  
PATCH       局部更新已知資源。對 PUT 方法的補充,用來對已知資源進行局部更新。  
CONNECT     更改連接為管道方式的代理服務(wù)求。HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。  
OPTIONS     查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項和需求。  
TRACE       回顯服務(wù)器收到的請求,主要用于測試或診斷。  

Cookie和Session

(1) Cookie數(shù)據(jù)存放在客戶的瀏覽器上,Session數(shù)據(jù)放在服務(wù)器上;
(2) 相比Session,Cookie更不安全,因為他人可以分析存放在本地的COOKIE并進行COOKIE欺騙??紤]到安全,應(yīng)使用Session或者使用加密技術(shù)對Cookie數(shù)據(jù)進行加密;
(3) Session默認僅在服務(wù)器保存一段時間。當(dāng)訪問增多,會比較占用你服務(wù)器的性能??紤]到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用Cookie;
(4) 單個Cookie在客戶端的限制是3K(也有說4K),就是說一個站點在客戶端存放的COOKIE不能超過3K;且Cookie的數(shù)量也有限制;
(5) Cookie和Session都是為了保存客戶端和服務(wù)端之間的會話,實現(xiàn)機制不同。
(6) 服務(wù)端Session的實現(xiàn)依賴客戶端Cookie。服務(wù)端生成Session ID后,會將這個ID發(fā)送給客戶端,然后客戶端在后續(xù)的請求中都會把這個ID值放到HTTP請求的頭部發(fā)送給服務(wù)端,而這個ID在客戶端保存的常用容器就是Cookie。如果瀏覽器不支持Cookie或禁用Cookie,則需要使用其他機制(如URL重寫機制,表單隱藏字段)代替Cookie暫存Session ID。

HTTP狀態(tài)碼

狀態(tài)代碼有三位數(shù)字組成,并使用第一個數(shù)字定義響應(yīng)的類別,共分五類:
1xx:指示信息–表示請求已接收,請求者繼續(xù)執(zhí)行操作
2xx:請求成功–表示請求已被成功接收、理解、接受
3xx:請求重定向–要完成請求必須進行更進一步的操作
4xx:客戶端錯誤–請求有語法錯誤或請求無法實現(xiàn)
5xx:服務(wù)器端錯誤–服務(wù)器未能實現(xiàn)合法的請求
常見狀態(tài)碼有:

200 OK                        //客戶端請求成功  
400 Bad Request               //客戶端請求有語法錯誤,不能被服務(wù)器所理解  
401 Unauthorized              //請求未經(jīng)授權(quán),這個狀態(tài)代碼必須和WWW-Authenticate報頭域一起使用  
403 Forbidden                 //服務(wù)器收到請求,但是拒絕提供服務(wù)  
404 Not Found                 //請求資源不存在,eg:輸入了錯誤的URL  
429 Too Many Requests         //在一定的時間內(nèi)用戶發(fā)送了太多的請求,即超出了“頻次限制”  
500 Internal Server Error     //服務(wù)器發(fā)生不可預(yù)期的錯誤  
503 Server Unavailable        //服務(wù)器當(dāng)前不能處理客戶端的請求,一段時間后可能恢復(fù)正常  

參考

https://www.w3.org/Protocols/ HTTP - Hypertext Transfer Protocol
https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol Hypertext Transfer Protocol
https://blog.51cto.com/13570193/2108347 HTTP協(xié)議詳解
https://www.cnblogs.com/ranyonsue/p/5984001.html HTTP協(xié)議詳解
http://www.javvin.com/protocol/rfc1945.pdf :Hypertext Transfer Protocol – HTTP 1.0
http://www.javvin.com/protocol/rfc2616.pdf :Hypertext Transfer Protocol – HTTP 1.1
https://zhuanlan.zhihu.com/p/466239718 面試必備:計算機網(wǎng)絡(luò)常問的六十二個問題
https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol Hypertext_Transfer_Protocol
https://www.w3.org/Protocols/ HTTP協(xié)議
https://www.infobip.com/glossary/http What is HTTP (Hypertext Transfer Protocol)
https://medium.com/@rcrohitcse/http-protocol-28b0c7295385 HTTP Protocol Overview
https://www.runoob.com/http/http-status-codes.html HTTP狀態(tài)碼
https://tool.oschina.net/commons?type=5 HTTP狀態(tài)碼
https://www.jianshu.com/p/a0509bb02b26 理解HTTP協(xié)議
https://www.cnblogs.com/andy-zhou/p/5360107.html 理解Cookie和Session機制
https://www.cnblogs.com/ranyonsue/p/5984001.html HTTP協(xié)議簡介
https://www.runoob.com/http/http-methods.html HTTP 請求方法
https://www.techopedia.com/definition/3105/hypermedia Hypermedia
https://baike.baidu.com/item/超文本 超文本
https://baike.baidu.com/item/Hypermedia/3177297 超媒體
https://www.jianshu.com/p/8b4d9db3fd02 瀏覽器的HTMl解析器
https://segmentfault.com/a/1190000016253407 瀏覽器如何解析html、css、js
https://blog.csdn.net/u014421556/article/details/51671353 http、https 等 常用默認端口號
https://en.wikipedia.org/wiki/URI URI
https://en.wikipedia.org/wiki/Uniform_Resource_Identifier Uniform_Resource_Identifier
https://tools.ietf.org/html/rfc3986 Uniform Resource Identifier (URI): Generic Syntax
https://www.jianshu.com/p/09ac6fc0f8cb URI、 URL 和 URN 的區(qū)別
https://danielmiessler.com/study/url-uri/ What’s the Difference Between a URI and a URL?文章來源地址http://www.zghlxwxcb.cn/news/detail-691167.html

到了這里,關(guān)于HTTP協(xié)議概述的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【計算機網(wǎng)絡(luò)】應(yīng)用層協(xié)議 -- HTTP協(xié)議

    【計算機網(wǎng)絡(luò)】應(yīng)用層協(xié)議 -- HTTP協(xié)議

    協(xié)議。網(wǎng)絡(luò)協(xié)議的簡稱,網(wǎng)絡(luò)協(xié)議是通信計算機雙方必須共同遵守的一組約定,比如怎么建立連接,怎么互相識別等。 為了使數(shù)據(jù)在網(wǎng)絡(luò)上能夠從源頭到達目的,網(wǎng)絡(luò)通信的參與方必須遵守相同的規(guī)則,我們稱這套相同的規(guī)則為協(xié)議(protocol),而協(xié)議最終都需要通過計算機

    2024年02月15日
    瀏覽(27)
  • 計算機網(wǎng)絡(luò) - http協(xié)議 與 https協(xié)議(2)

    計算機網(wǎng)絡(luò) - http協(xié)議 與 https協(xié)議(2)

    本篇介紹了構(gòu)造http請求的的五種方式,簡單的使用postman構(gòu)造http請求,進一步了解https, 學(xué)習(xí)https的加密過程,了解對稱密鑰與非對稱密鑰對于加密是如何進行的,如有錯誤,請在評論區(qū)指正,讓我們一起交流,共同進步! 本文開始 1) 直接在瀏覽器中的地址欄中輸入一個 u

    2024年02月13日
    瀏覽(30)
  • 計算機網(wǎng)絡(luò) - 應(yīng)用層http協(xié)議 - http報文格式介紹(1)

    計算機網(wǎng)絡(luò) - 應(yīng)用層http協(xié)議 - http報文格式介紹(1)

    本篇認識和理解應(yīng)用層中的http協(xié)議,了解抓包工具并進行使用,認識請求報文與響應(yīng)報文,了解報文中基本鍵值對意思例如:Set-Cookie, 狀態(tài)碼等,如有錯誤,請在評論區(qū)指正,讓我們一起交流,共同進步! 本文開始 ① 根據(jù)輸入的url,在域名系統(tǒng)DNS中進行解析獲取對應(yīng)的服務(wù)

    2024年02月12日
    瀏覽(94)
  • 【計算機網(wǎng)絡(luò)】HTTP協(xié)議以及簡單的HTTP服務(wù)器實現(xiàn)

    【計算機網(wǎng)絡(luò)】HTTP協(xié)議以及簡單的HTTP服務(wù)器實現(xiàn)

    雖然我們說, 應(yīng)用層協(xié)議是我們程序猿自己定的. 但實際上, 已經(jīng)有大佬們定義了一些現(xiàn)成的, 又非常好用的應(yīng)用層協(xié)議, 供我們直接參考使用. HTTP(超文本傳輸議)就是其中之一。 平時我們俗稱的 “網(wǎng)址” 其實就是說的 URL 像 / ? : 等這樣的字符, 已經(jīng)被url當(dāng)做特殊意義理解了.

    2024年01月20日
    瀏覽(32)
  • 計算機網(wǎng)絡(luò)學(xué)習(xí)day02|HTTP協(xié)議

    計算機網(wǎng)絡(luò)學(xué)習(xí)day02|HTTP協(xié)議

    目錄 一、HTTP報文格式長什么樣?是如何分割的? 請求行 狀態(tài)行 頭部字段 常用頭字段 小結(jié) 二、HTTP提供了哪些方法?GET和POST的區(qū)別是什么? 1.HTTP有哪些方法 2.GET/HEAD 3.PSOT/PUT 小結(jié) 三、URI和URL URI 的格式 URI 的基本組成 URI 的查詢參數(shù) 小結(jié) 四、HTTP有哪些狀態(tài)碼?分別代表什

    2024年04月23日
    瀏覽(24)
  • 【計算機網(wǎng)絡(luò)】應(yīng)用層——HTTP 協(xié)議(一)

    【計算機網(wǎng)絡(luò)】應(yīng)用層——HTTP 協(xié)議(一)

    個人主頁:兜里有顆棉花糖 歡迎 點贊?? 收藏? 留言? 加關(guān)注??本文由 兜里有顆棉花糖 原創(chuàng) 收錄于專欄【網(wǎng)絡(luò)編程】 本專欄旨在分享學(xué)習(xí)計算機網(wǎng)絡(luò)的一點學(xué)習(xí)心得,歡迎大家在評論區(qū)交流討論?? HTTP協(xié)議全稱超文本傳輸協(xié)議,通過瀏覽器和服務(wù)器進行數(shù)據(jù)交互,進行

    2024年01月23日
    瀏覽(29)
  • Linux 計算機網(wǎng)絡(luò) 深入理解HTTP協(xié)議

    Linux 計算機網(wǎng)絡(luò) 深入理解HTTP協(xié)議

    HTTP是超文本傳輸協(xié)議,是用于從萬維網(wǎng)服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。下面就來介紹HTTP的組成與特性。 HTTP是 ?連接 , ?狀態(tài) , ?作在應(yīng)?層 的協(xié)議。 ?連接: http協(xié)議本身是沒有維護連接信息的, http的數(shù)據(jù)會交給?絡(luò)協(xié)議棧傳輸層的TCP協(xié)議, ?TCP是?向

    2024年02月14日
    瀏覽(26)
  • 計算機網(wǎng)絡(luò)的故事——簡單的HTTP協(xié)議

    計算機網(wǎng)絡(luò)的故事——簡單的HTTP協(xié)議

    ` HTTP是不保存狀態(tài)的協(xié)議,為了實現(xiàn)保存狀態(tài)功能于是引入了Cookie技術(shù)。 method: get:獲取資源 post:傳輸實體主體 put:傳輸文件 head:獲取報文首部,用于確認URI的有效性以及資源的更新日期時間等 delete:刪除文件 put和delete不帶驗證機制,所以一般也不會使用delete方法,options:詢問

    2024年02月09日
    瀏覽(30)
  • 計算機網(wǎng)絡(luò)實驗4:HTTP、DNS協(xié)議分析

    計算機網(wǎng)絡(luò)實驗4:HTTP、DNS協(xié)議分析

    實驗內(nèi)容 :使用Wireshark捕獲數(shù)據(jù)包,根據(jù)捕獲的相關(guān)數(shù)據(jù)包分別對HTTP、DNS協(xié)議展開分析。 額外內(nèi)容 :利用fiddler軟件對HTTPS協(xié)議進行分析。 所需學(xué)時 :1。 重難點 :HTTP和DNS協(xié)議的報文結(jié)構(gòu)。 周次 :第3周。 教材相關(guān)章節(jié) :2.4、2.7。 HTTP(超文本傳輸協(xié)議)是一個基于 請求與

    2024年02月13日
    瀏覽(23)
  • 【計算機網(wǎng)絡(luò)】| Http.*協(xié)議該知道的那些事兒 | 面經(jīng)

    【計算機網(wǎng)絡(luò)】| Http.*協(xié)議該知道的那些事兒 | 面經(jīng)

    本文章參考了很多文檔文獻整理成獅子自己喜歡的風(fēng)格類型文字,主要有: 《圖解網(wǎng)絡(luò)-小林coding》、Github上面的《前端語音社群》,ChatGpt 3.5 大家有興趣可以去找來看看,一起上岸?。。?主要抓住三方面: 超文本 傳輸 協(xié)議 HTTP 協(xié)議是?個 雙向協(xié)議 (兩點之間) eg: 瀏覽

    2024年02月05日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包