1.www是目前世界上最具有影響力的互聯網路,從應用功能看,www是一種互動式圖形界面的Internet服務,是一個基于HTTP的客戶/服務器應用系統,即屬于客戶/服務器范型的分布式計算應用。www核心技術包括HTML和HTTP,HTTP語言是www服務的資訊組織形式。
2.HTTP協議原理
HTTP通信機制是在一次完整的HTTP通信程序中,Web瀏覽器與Web服務器之間將完成下列7個步驟:
(1)建立TCP連接
在HTTP作業開始之前,Web瀏覽器首先要通過網路與Web服務器建立連接,該連接是通過TCP來完成的,該協議與IP協議共同構建Internet,即著名的TCP/IP協議族,因此Internet又被稱作是TCP/IP網路。HTTP是比TCP更高層次的應用層協議,根據規則,只有低層協議建立之后才能,才能進行更層協議的連接,因此,首先要建立TCP連接,一般TCP連接的埠號是80
(2)Web瀏覽器向Web服務器發送請求命令<request-line>
一旦建立了TCP連接,Web瀏覽器就會向Web服務器發送請求命令
例如:GET/sample/hello.jsp HTTP/1.1
(3)Web瀏覽器發送請求頭資訊<headers>
瀏覽器發送其請求命令之后,還要以頭資訊的形式向Web服務器發送一些別的資訊,之后瀏覽器發送了一空白行<blank line>來通知服務器,它已經結束了該頭資訊的發送
(4)Web服務器應答
客戶機向服務器發出請求后,服務器會客戶機回送應答,HTTP/1.1 200 OK,應答的第一部分是協議的版本號和應答狀態碼
(5)Web服務器發送應答頭資訊
正如客戶端會隨同請求發送關于自身的資訊一樣,服務器也會隨同應答向用戶發送關于它自己的資料及被請求的檔案。
(6)Web服務器向瀏覽器發送資料
Web服務器向瀏覽器發送頭資訊后,它會發送一個空白行來表示頭資訊的發送到此為結束,接著,它就以Content-Type應答頭資訊所描述的格式發送用戶所請求的實際資料
(7)Web服務器關閉TCP連接
一般情況下,一旦Web服務器向瀏覽器發送了請求資料,它就要關閉TCP連接,然后如果瀏覽器或者服務器在其頭資訊加入了這行代碼Connection:keep-alive
TCP連接在發送后將仍然保持打開狀態,于是,瀏覽器可以繼續通過相同的連接發送請求。保持連接節省了為每個請求建立新連接所需的時間,還節約了網路帶寬。
在HTTP請求中,第一行必須是一個請求行(request line),用來說明請求型別(GET/POST)、要訪問的資源,使用的HTTP版本(HTTP1.1等)。緊接著是一個首部(header)小節,用來說明服務器要使用的附加資訊。在首部之后是一個空行,再此之后可以添加任意的其他資料[稱之為主體(body)]。
3.Cookie機制
Cookie是由W3C組織提出,最早由Netscape社區發展的一種機制。由于HTTP是一種無狀態的協議,一旦資料交換完畢,客戶端與服務器端的連接就會關閉,再次交換資料需要建立新的連接。這就意味著服務器無法從連接上跟蹤會話。即用戶A購買了一件商品放入購物車內,當再次購買商品時服務器已經無法判斷該購買行為是屬于用戶A的會話還是用戶B的會話了。要跟蹤該會話,必須引入一種機制。Cookie就是這樣的一種機制,它可以彌補HTTP協議無狀態的不足。
它的作業原理類似于給客戶端們頒發一個通行證,每人一個,無論誰訪問都必須攜帶自己通行證。這樣服務器就能從通行證上確認客戶身份了。Cookie實際上是一小段的文本資訊。客戶端請求服務器,如果服務器需要記錄該用戶狀態,就使用response向客戶端瀏覽器頒發一個Cookie。客戶端瀏覽器會把Cookie保存起來。當瀏覽器再請求該網站時,瀏覽器把請求的網址連同該Cookie一同提交給服務器。服務器檢查該Cookie,以此來辨認用戶狀態。
4.Session機制
Session是服務器端使用的一種記錄客戶狀態的機制,使用起來比Cookie簡單一些,Session是另一種記錄客戶狀態的機制,Cookie保存在客戶端瀏覽器中,而Session保存在服務器上。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/22336.html
標籤:網絡
上一篇:hbase預磁區
下一篇:第六章 P2P原理與實踐
