網路傳輸協議概念和HTTP協議

2021-07-25 14:31:59 字數 2864 閱讀 8148

網路傳輸協議或簡稱為傳送協議,是指計算機通訊或網路裝置的共同語言。現在最普及的計算機通訊為網路通訊,所以「傳送協議」一般都指計算機通訊的傳送協議,如:tcp/ip、netbeui、dhcp、ftp、http等。然而,傳送協議也存在於計算機的其他形式通訊,例如:物件導向程式設計裡面物件之間的通訊;作業系統內不同程式之間的訊息,都需要有乙個傳送協議,以確保傳信雙方能夠溝通無間。

放在現實中的協議也有很多,這個協議是,相互遵守,單方面違背了,不叫協議,比如停戰協議,全球**協議等等.沒有協議,世界將一片混亂.

我們重點了解一下平時上網玩網路遊戲等等都需要涉及到的http協議.

http協議中文名叫:超文字傳輸協議,http是英文單詞hypertext transfer protocol開頭字母的縮寫.

它是網際網路上應用最為廣泛的一種網路協議。設計http最初的目的是為了提供一種發布和接收html頁面的方法。通過http或者https協議請求的資源由統一資源識別符號來標識。

該協議發展由蒂姆·伯納斯-李於2023年在歐洲核子研究組織所發起。由全球資訊網協會和網際網路工程任務組制定標準,最終發布了一系列的rfc,其中最著名的是2023年6月公布的 rfc 2616,定義了http協議中現今廣泛使用的乙個版本——http 1.1。

http是乙個客戶端終端(使用者)和伺服器端(**)請求和應答的標準。通過使用網頁瀏覽器、網路爬蟲或者其它的工具,客戶端發起乙個http請求到伺服器上指定埠(預設埠為80)。我們稱這個客戶端為使用者**程式。應答的伺服器上儲存著一些資源,比如html檔案和影象。我們稱這個應答伺服器為源伺服器。在使用者**和源伺服器中間可能存在多個「中間層」,比如**伺服器、閘道器或者隧道。

儘管tcp/ip協議是網際網路上最流行的應用,http協議中,並沒有規定必須使用它或它支援的層。事實上,http可以在任何網際網路協議上,或其他網路上實現。http假定其下層協議提供可靠的傳輸。因此,任何能夠提供這種保證的協議都可以被其使用。因此也就是其在tcp/ip協議族使用tcp作為其傳輸層。

通常,由http客戶端發起乙個請求,建立乙個到伺服器指定埠(預設是80埠)的tcp連線。http伺服器則在那個埠監聽客戶端的請求。一旦收到請求,伺服器會向客戶端返回乙個狀態,比如」http/1.1 200 ok」,以及返回的內容,如請求的檔案、錯誤訊息、或者其它資訊。

發出的請求資訊包括如下:

請求行(例如:get /images/log.png http/1.1) --> 表示從哪個目錄中用什麼樣的標準用什麼樣的方式請求log.png

請求頭(格式key:value)

空行 其他資訊體

例如:

age=3http/1.1協議中共定義了八種方法(也叫「動作」)來以不同方式操作指定的資源:

options:這個方法可使伺服器傳回該資源所支援的所有http請求方法。用』*』來代替資源名稱,向web伺服器傳送options請求,可以測試伺服器功能是否正常運作。

head:與get方法一樣,都是向伺服器發出指定資源的請求。只不過伺服器將不傳回資源的本文部分。它的好處在於,使用這個方法可以在不必傳輸全部內容的情況下,就可以獲取其中「關於該資源的資訊」(元資訊或稱元資料)。

post:向指定資源提交資料,請求伺服器進行處理(例如提交表單或者上傳檔案)。資料被包含在請求本文中。這個請求可能會建立新的資源或修改現有資源,或二者皆有。

delete:請求伺服器刪除request-uri所標識的資源。

trace:回顯伺服器收到的請求,主要用於測試或診斷。

**connect:**http/1.1協議中預留給能夠將連線改為管道方式的**伺服器。通常用於ssl加密伺服器的鏈結(經由非加密的http**伺服器)。

方法名稱是區分大小寫的。當某個請求所針對的資源不支援對應的請求方法的時候,伺服器應當返回狀態碼405(method not allowed),當伺服器不認識或者不支援對應的請求方法的時候,應當返回狀態碼501(not implemented)。

http伺服器至少應該實現get和head方法,其他方法都是可選的。當然,所有的方法支援的實現都應當匹配下述的方法各自的語義定義。此外,除了上述方法,特定的http伺服器還能夠擴充套件自定義的方法。例如:

patch:用於將區域性修改應用到資源。

伺服器響應回來的資訊如下:

響應行(協議 狀態嗎 狀態文字)

響應頭資訊(格式為 key:value)

空行主體資訊(也可以沒有)

例如:

hello所有http響應的第一行都是狀態行,依次是當前http版本號,3位數字組成的狀態**,以及描述狀態的短語,彼此由空格分隔。

狀態**的第乙個數字代表當前響應的型別:

1xx訊息——請求已被伺服器接收,繼續處理

2xx成功——請求已成功被伺服器接收、理解、並接受

3xx重定向——需要後續操作才能完成這一請求

4xx請求錯誤——請求含有詞法錯誤或者無法被執行

5xx伺服器錯誤——伺服器在處理某個正確請求時發生錯誤

雖然 rfc 2616 中已經推薦了描述狀態的短語,例如」200 ok」,」404 not found」,但是web開發者仍然能夠自行決定採用何種短語,用以顯示本地化的狀態描述或者自定義資訊。

HTTP協議 概念

http 超文字傳輸協議 hyper text transfer protocol 當我們在瀏覽器的位址列輸入乙個位址的時候,就能夠訪問伺服器的某個頁面 這個過程本身就是兩個應用程式之間的互動,乙個應用程式是瀏覽器,另乙個應用程式是伺服器。協議是什麼?協議就是不同的應用程式之間按照事先做好的約定進行...

HTTP協議概念

http協議是 超文字傳輸協議 的縮寫,適用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的傳送協議。http預設埠號為80 tcp ip是什麼?答 tcp ip是用於網際網路的通訊協議 https 超文字傳輸安全協議,是以安全為目標的http通道,簡單講是http的安全版。http使用埠443 1.h...

HTTP協議概念

版本 訊息資料格式 post 請求引數在請求體中 請求行 請求頭 瀏覽器告知伺服器的資訊 請求空行 請求體 字串格式 host ss1.bdstatic.com user agent mozilla 5.0 x11 ubuntu linux x86 64 rv 71.0 gecko 20100101...