系統(tǒng)運維 一.概述
HTTP(Hyper Text Transfer Protocol),超文本傳輸協(xié)議,是一種建立在TCP上的無狀態(tài)連接,整個工作流程基本是由客戶端(client)向服務(wù)端(server)發(fā)送一個http請求,向server端請求需要的資源,到server端收到客戶端的請求后,根據(jù)請求做出相應(yīng)的動作訪問服務(wù)器資源,然后通過HTTP相應(yīng)將結(jié)果返回給client端。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、黃梅網(wǎng)站維護、網(wǎng)站推廣。HTTP工作流程 瀏覽器向 dns 服務(wù)器請求解析該 URL 中的域名所對應(yīng)的 IP 地址; 解析出 IP 地址后,根據(jù)該 IP 地址和默認(rèn)端口 80,和服務(wù)器建立TCP連接; 瀏覽器發(fā)出讀取文件(URL 中域名后面部分對應(yīng)的文件)的HTTP 請求,該請求報文作為 TCP 三次握手的第三個報文的數(shù)據(jù)發(fā)送給服務(wù)器; 服務(wù)器對瀏覽器請求作出響應(yīng),并把對應(yīng)的html文本發(fā)送給瀏覽器; 釋放TCP連接; 瀏覽器顯示html文本; http版本0.9版本:僅支持html頁面(已被淘汰);
1.0版本:
(1)引入MIME(多用途互聯(lián)網(wǎng)郵件擴展)機制,引入這個機制之后就可以發(fā)送多媒體信息;
(2)引入keep-alive機制,支持持久鏈接的功能(但這個keep-alive原理是在首部添加了某個字段而形成,并非原生就支持此功能);
(3)引入支持緩存頁面功能;
1.1版本:1.0版本的升級,支持更多的請求連接方式、優(yōu)化可持久鏈接、優(yōu)化了頁面緩存;
2.0版本:提供了http語義優(yōu)化的傳輸,增加了一個spdy技術(shù)。Spdy技術(shù):google引入的一個技術(shù),能夠加速http數(shù)據(jù)交互,尤其是使用了ssl加速機制;被人們普遍稱為https協(xié)議;
常見的網(wǎng)頁頁面類型
靜態(tài)頁面:
常見的后綴名是:
文本:html、htm、txt、css、doc;
圖片:gif、jpg、png;
視頻:mp4、flv;
請求過程
socket是在應(yīng)用層和傳輸層之間的一個抽象層,socket本質(zhì)是編程接口(API),它把TCP/IP層復(fù)雜的操作抽象為幾個簡單的接口供應(yīng)用層調(diào)用以實現(xiàn)進程在網(wǎng)絡(luò)中通信。TCP/IP只是一個協(xié)議棧,必須要具體實現(xiàn),同時還要提供對外的操作接口(API),這就是Socket接口。通過Socket,我們才能使用TCP/IP協(xié)議。
①Web客戶端向內(nèi)核注冊socket;
②客戶端通過瀏覽器,向Web服務(wù)器發(fā)送數(shù)據(jù)請求;
③Web服務(wù)端收到客戶端的請求信息;
④如果客戶端請求的資源在服務(wù)器本地,http服務(wù)會向系統(tǒng)內(nèi)核申請調(diào)用;
⑤內(nèi)核調(diào)用本地磁盤里的數(shù)據(jù),并經(jīng)數(shù)據(jù)發(fā)送給服務(wù)器;
⑥http將用戶請求的資源通過響應(yīng)報文,最終響應(yīng)客戶端;
特點:由開發(fā)人員預(yù)先編寫好,存放在當(dāng)前文件系統(tǒng)中,響應(yīng)速度快、頁面維護比較麻煩,數(shù)據(jù)交互性差、容易被搜索引擎收錄
動態(tài)頁面:
常見的后綴名有:php、jsp、asp、net
請求過程:與靜態(tài)頁面不同的就是,如果用戶請求的是動態(tài)內(nèi)容,那么此時http服務(wù)器就會調(diào)用后端的解釋器,由后端的解釋器在磁盤中獲取數(shù)據(jù),通過解釋器運行生成html格式的文件。然后構(gòu)建成響應(yīng)報文,最終響應(yīng)客戶端的請求。
特點:web服務(wù)器自身不支持動態(tài)頁面的處理,需要有專門的解釋器來進行完成,頁面數(shù)據(jù)多變,頁面維護比較簡單,響應(yīng)速度慢、數(shù)據(jù)有交互性,頁面訪問時包含特殊符號?、%、&(特殊符號),不能被搜索引擎收錄;
偽靜態(tài)頁面:將動態(tài)頁面?zhèn)窝b成靜態(tài)頁面,被搜索引擎收錄,消耗硬件資源;
http協(xié)議的報文請求報文格式:
請求行:用來標(biāo)識客戶端請求的資源時,使用的請求方法、請求資源、請求的協(xié)議是什么,它們直接使用“空格”進行分隔;
請求首部:作用是通過客戶端請求的相關(guān)內(nèi)容告知服務(wù)器端(首部可以不止一個)
空白行:請求首部之后會有一個空白行,通過發(fā)送回車字符和換行字符,用于通知服務(wù)端以下內(nèi)容將不會再出現(xiàn)請求首部的信息;
請求實體:請求的頁面的內(nèi)容具體是什么
Response Message(響應(yīng)報文):服務(wù)器端→客戶端
服務(wù)器響應(yīng)客戶端的請求;
響應(yīng)報文:
起始行:響應(yīng)時采用的http協(xié)議的版本、響應(yīng)的狀態(tài)碼、狀態(tài)碼的簡略信息;
響應(yīng)首部:類似于請求報文,起始行后面一般有若干個頭部字段。每個頭部字段都包含一個名字和一個值,兩者用冒號進行分隔,可以包含一個或多個。
空白行:最后一個響應(yīng)首部信息之后就是一個空行,通過發(fā)送回車符和換行符,通知客戶端空行下無首部信息;
響應(yīng)實體:真正訪問頁面包含的內(nèi)容;
常見的HTTP請求方式:GET、POST、HEAD
HTTP狀態(tài)碼 二.HTTP工作原理HTTP協(xié)議定義Web客戶端如何從Web服務(wù)器請求Web頁面,以及服務(wù)器如何把Web頁面?zhèn)魉徒o客戶端。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ù)
HTTP 請求/響應(yīng)的步驟:客戶端連接到Web服務(wù)器->發(fā)送Http請求->服務(wù)器接受請求并返回HTTP響應(yīng)->釋放連接TCP連接->客戶端瀏覽器解析HTML內(nèi)容
1、客戶端連接到Web服務(wù)器
一個HTTP客戶端,通常是瀏覽器,與Web服務(wù)器的HTTP端口(默認(rèn)為80)建立一個TCP套接字連接。例如,http://www.baidu.com
2、發(fā)送HTTP請求
通過TCP套接字,客戶端向Web服務(wù)器發(fā)送一個文本的請求報文,一個請求報文由請求行、請求頭部、空行和請求數(shù)據(jù)4部分組成。
3、服務(wù)器接受請求并返回HTTP響應(yīng)
Web服務(wù)器解析請求,定位請求資源。服務(wù)器將資源復(fù)本寫到TCP套接字,由客戶端讀取。一個響應(yīng)由狀態(tài)行、響應(yīng)頭部、空行和響應(yīng)數(shù)據(jù)4部分組成。
4、釋放連接TCP連接
若connection 模式為close,則服務(wù)器主動關(guān)閉TCP連接,客戶端被動關(guān)閉連接,釋放TCP連接;若connection 模式為keepalive,則該連接會保持一段時間,在該時間內(nèi)可以繼續(xù)接收請求;
5、客戶端瀏覽器解析HTML內(nèi)容
客戶端瀏覽器首先解析狀態(tài)行,查看表明請求是否成功的狀態(tài)代碼。然后解析每一個響應(yīng)頭,響應(yīng)頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集??蛻舳藶g覽器讀取響應(yīng)數(shù)據(jù)HTML,根據(jù)HTML的語法對其進行格式化,并在瀏覽器窗口中顯示。
URI
URI一般由三部組成:
①訪問資源的命名機制
②存放資源的主機名
③資源自身的名稱,由路徑表示,著重強調(diào)于資源。
URL
采用URL可以用一種統(tǒng)一的格式來描述各種信息資源,包括文件、服務(wù)器的地址和目錄等。URL一般由三部組成:
①協(xié)議(或稱為服務(wù)方式)
②存有該資源的主機IP地址(有時也包括端口號)
③主機資源的具體地址。如目錄和文件名等
URN,uniform resource name,統(tǒng)一資源命名,是通過名字來標(biāo)識資源,
URI是以一種抽象的,高層次概念定義統(tǒng)一資源標(biāo)識,而URL和URN則是具體的資源標(biāo)識的方式。URL和URN都是一種URI?;\統(tǒng)地說,每個 URL 都是 URI,但不一定每個 URI 都是 URL。這是因為 URI 還包括一個子類,即統(tǒng)一資源名稱 (URN),它命名資源但不指定如何定位資源。上面的 mailto、news 和 isbn URI 都是 URN 的示例。
http事務(wù)、
包含一個HTTP請求,和對應(yīng)請求的響應(yīng)就叫做一個http事務(wù),也可以理解http事務(wù)就是一個完整的HTTP請求和HTTP響應(yīng)的過程。
HTTP協(xié)議默認(rèn)情況下每個事務(wù)都會打開和關(guān)閉一個新的連接,所以相當(dāng)耗費時間和帶寬,由于TCP慢啟動特性,所以每條新的連接的性能本身就會有所降低,所以可打開的并行連接的數(shù)量上限是有限的。所以使用持久連接這種模式比默認(rèn)情況下不使用持久連接的方式會好一點,他的好處表現(xiàn)在其請求和tcp斷開的過程所消耗的時間會被減少
分享題目:HTTP詳細(xì)介紹
標(biāo)題來源:http://m.rwnh.cn/article38/cgscpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)頁設(shè)計公司、網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)、企業(yè)建站、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)