計算機網路(Web和HTTP)

2021-07-02 14:48:36 字數 2314 閱讀 6905

web就是全球資訊網,因為web的出現,給我們帶來了極大的便利,足不出戶而知天下。當使用者需要時,就能得到所想要的內容,網路之大各式各樣的資源都有。

web的應用層協議就是有名的http(超文字傳輸協議),通常被稱為web的核心。http的實現需要有乙個服務端和乙個客戶端,通過交換http報文進行會話。http定義了這些報文的結構格式以及進行報文交換的方式。

我們從上面已經知道http定義了http協議進行會話的報文結構格式及交換方式,瀏覽器向伺服器發出該頁面中所包含物件的http請求報文,伺服器收到請求並用包含這些物件的http響應報文進行響應。

http使用tcp作為它的支撐運輸協議,http客戶首先發起乙個與伺服器的tcp連線。客戶會從它的套接字傳送http請求報文和接收http響應報文,伺服器也會從頭它的套接字接收http請求報文和傳送http響應報文。web伺服器總是開啟的,具有乙個固定的ip位址。

http有兩種連線方式,非持續連線和持續連線。在非持續連線情況下,每請求乙個物件就需要建立一次tcp連線,即該連線並不會為其他的物件而持續下來。http客戶在埠號80傳送乙個到www.cloudker.com的tcp連線,http客戶通過它的套接字向該伺服器傳送乙個http請求,報文中包含了物件的路徑。http程序通過它的套接字接收http請求報文,在乙個響應報文中封裝物件,並通過其套接字接收傳送響應報文。tcp確認客戶已經完整地收到響應報文,中斷tcp連線。http客戶接收響應報文,tcp連線關閉。

持續連線的http在響應後一直保持tcp連線開啟,乙個web頁面可以用單個持續tcp連線進行傳送,可以乙個接乙個地發出對物件的請求,如果一條連線經過一定時間仍未被使用就會自動關閉該連線。

這是乙個簡單的http請求報文,首先該報文僅有5行,第一行為請求行,其後為首部行。請求行有3個字段,方法字段、url欄位、http版本字段,方法欄位取不同的值,包括get、post、head、put和delete,絕大多數方法欄位都是用get方法。url欄位是請求物件的路徑,圖例中http版本為1.1。首部行指明了物件所在的主機。

第三行是告訴伺服器不希望麻煩地使用持續連線,它要求伺服器在傳送完被請求的物件後關閉該連線。第四行是用來指使用者**,即向伺服器傳送請求的瀏覽器的型別。最後一行表示使用者想要該物件的法語版本,如果伺服器中有這樣的物件的話,否則,伺服器將傳送它預設版本。

上面是乙個簡單的響應報文,有三個部分乙個是初識狀態列,6個首部行,然後是實體體。實體體部分是報文的主要部分,即傳送的物件本身(data data...)。狀態列有3個字段:協議版本字段、狀態碼和相應狀態資訊。狀態行為第一行,指示伺服器正在使用http/1.1,並且一切正常。第二行是首部行,告訴客戶傳送完報文後將關閉該tcp連線。date首部行指示伺服器產生並傳送該響應報文的時間,server首部行指示該報文是由一台apache web產生的,last-modified首部行指示物件建立或者最後修改的日期和時間嗎,這個首部行對既可能在本地客戶也可能在網路快取器伺服器上的物件快取非常重要。content-type首部航指示了實體體中的物件是html文字。

接下來讓我們看一下神圖:

分別是http請求報文的通用格式和http響應報文的通用格式。

看到cookie有些人第一反應就是黑闊技術裡的cookie欺騙技術,這是技術是幹什麼的呢?讓我們帶著對知識的渴求一起來了解。

上節我們講http伺服器是無狀態的,也就是說不會去儲存、記憶上次進行的事務處理,如果需要用到上次的資訊就需要重傳。然而乙個web站點通常希望能夠去識別使用者。當乙個客戶端向乙個站點請求連線,完成操作後就會關閉tcp連線,如果需要再互動資料就要再建立新的連線,也就是無法跟蹤上次的對話。因此,兩種用於保持http連線狀態的技術就應運而生了,乙個是cookie,而另乙個則是session。然而在這節我們並不討論session,而是討論cookie。

cookie技術有四個元件:

①在http響應報文中有的乙個cookie首部行;

②在http請求報文中有的乙個cookie首部行;

③在使用者端系統中保留有乙個cookie檔案,並由使用者的瀏覽器進行管理

④位於web站點的乙個後端資料庫;

計算機網路 HTTP

引子 前兩天看了 http 和 計算機網路 的第5章 運輸層 為了準確無誤地將資料送達目標處,tcp協議採用了 三次握手 three way handshaking 策略。三次握手 three way handshake 或三次聯絡。廣為流傳的譯名 三次 three way 並不準確。這裡的三次是指...

計算機網路 http

http,超文字傳輸協議hypertext transfer protocol。基於tcp,無狀態。http預設使用持續連線,但是也可以配置為使用非持續連線。持續連線就是指傳送請求,接收響應後,並不直接關閉tcp連線,再有下個http請求,還用這個tcp連線傳送 非持續連線就是傳送請求,接收響應後,...

計算機網路 HTTP

http的報文結構 http有兩類報文 請求報文和響應報文。它們的報文結構由三部分組成,分別為開始行 首部行和實體主體。開始行 用於區分是請求報文還是響應報文。首部行 用來說明瀏覽器 伺服器和報文主體的一些資訊 實體主體 在請求報文中一般都不用這個字段,響應報文中也可能沒有這個字段 在請求報文中,開...