http協議與網路基礎

2021-07-23 19:43:14 字數 4232 閱讀 4115

http協議與網路基礎

#複習

##http協議與網路基礎

- 網路訪問過程

1.拿到瀏覽器的ip之後,和對應的伺服器建立tcp連線

2.瀏覽器傳輸的內容通過http傳送給伺服器,這個時候的這個http就毀掉了

3.伺服器得到請求之後進行解析,將解析的結果通過http走tcp返回到伺服器去,

4.瀏覽器接到訊息之後tcp連線中斷

**(- url

- 協議名:協議的版本號(https)

- 網域名稱/ip位址(www.so.com)

- 埠號(預設是80)(0-1024

)- 檔案路徑(檔案路徑 /s)

- 查詢字串(?號後面的是查詢字串)

- ip(internet protocol)

-內容:它是能使連線到網上的所有計算機網路實現相互通訊的一套規則

網際協議位址。ip位址是ip協議提供的一種統一的位址格式,

它為網際網路上的每乙個網路和每一台主機分配乙個邏輯位址,以此來遮蔽實體地址的差異。

ip網路使用32位(二進位制)位址,以點分十進位制表示,如192.168.0.1

內容:ip協議傳輸的是資料報(data packet)。

計算機將需要傳送的資料分段打成包,然後把包乙個乙個的傳送出去。

- 定址

- tcp

-內容:傳輸控制協議(tcp),是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議,tcp層是位於ip層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、像管道一樣的連線,但是ip層不提供這樣的流機制,而是提供不可靠的包交換

- 功能:建立連線

- 請求報文(向伺服器傳送的訊息)

-請求報文的一般格式

- 請求頭

- 第一行

- 請求方法(get/post/head/put/delete)

- url

- 版本號(http.1.1用的最多)

- 請求首部字段

- 查表

其中host--content是請求報文的首部字段;我們一般不用寫,由遊覽器自動生成

- 請求體

- 空- 非空

- 響應報文(伺服器對瀏覽器訪問的回應)

- 響應頭

);}- 第一行

- 版本號

- 狀態碼

- 狀態碼說明字段

- 響應首部字段

- 查表

- 響應體(瀏覽器根據伺服器返回的響應體將頁面畫出來)

- 具體內容(html)

- tcp

- 斷開連線

- res.end

請求方法:

路由:瀏覽器和伺服器對接的路徑

狀態碼說明字段

http訪問的狀態碼:

200 - 伺服器成功返回網頁 404 - 請車載***求的網頁不存在 503 - 服務不可用

1xx(臨時響應)

表示臨時響應並需要請求者繼續執行操作的狀態**。

** 說明

100 (繼續) 請求者應當繼續提出請求。 伺服器返回此**表示已收到請求的第一部分,正在等待其餘部分。

101 (切換協議) 請求者已要求伺服器切換協議,伺服器已確認並準備切換。

2xx (成功)

表示成功處理了請求的狀態**。

** 說明

200 (成功) 伺服器已成功處理了請求。 通常,這表示伺服器提供了請求的網頁。

201 (已建立) 請求成功並且伺服器建立了新的資源。

202 (已接受) 伺服器已接受請求,但尚未處理。

203 (非授權資訊) 伺服器已成功處理了請求,但返回的資訊可能來自另一**。

204 (無內容) 伺服器成功處理了請求,但沒有車載***導航返回任何內容。

205 (重置內容) 伺服器成功處理了請求,但沒有返回任何內容。

206 (部分內容) 伺服器成功處理了部分 get 請求。

3xx (重定向)

表示要完成請求,需要進一步操作。 通常,這些狀態**用來重定向。

** 說明

300 (多種選擇) 針對請求,伺服器可執行多種操作。 伺服器可根據請求者 (user agent) 選擇一項操作,或提供操作列表

供請求者選擇。

301 (永久移動) 請求的網頁已永久移動到新位置。 伺服器返回此響應(對 get 或 head 請求的響應)時,會自動將請求

者轉到新位置。

302 (臨時移動) 伺服器目前從不同位置的車載***導航儀網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。

303 (檢視其他位置) 請求者應當對不同的位置使用單獨的 get 請求來檢索響應時,伺服器返回此**。

304 (未修改) 自從上次請求後,請求的網頁未修改過。 伺服器返回此響應時,不會返回網頁內容。

305 (使用**) 請求者只能使用**訪問請求的網頁。 如果伺服器返回此響應,還表示請求者應使用**。

307 (臨時重定向) 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。

4xx(請求錯誤)

這些狀態**表示請求可能出錯,妨礙了伺服器的處理。

** 說明

400 (錯誤請求) 伺服器不理解請求的語法。

401 (未授權) 請求要求身份驗證。 對於需要登入的網頁,伺服器可能返回此響應。

403 (禁止) 伺服器拒絕請求。

404 (未找到) 伺服器找不到請求的網頁。

405 (方法禁用) 禁用請求中指定的方法。

406 (不接受) 無法使用請求的內容特性響應請求的網頁。

407 (需要**授權) 此狀態**與 401(未授權)類似,但指定請求者應當授權使用**。

408 (請求超時) 伺服器等候請求時發生超時。

409 (衝突) 伺服器在完成請求時發生衝突。 伺服器必須在響應中包含有關衝突的資訊。

410 (已刪除) 如果請求的資源已永久刪除,伺服器就會返回此響應。

411 (需要有效長度) 伺服器不接受不含有效內容長度標頭字段的請求。

412 (未滿足前提條件) 伺服器未滿足請求者在請求中設定的其中乙個前提條件。

413 (請求實體過大) 伺服器無法處理請求,因為請求實體過大,超出伺服器的處理能力。

414 (請求的 uri 過長) 請求的 uri(通常為**)過長,伺服器無法處理。

415 (不支援的**型別) 請求的格式不受請求頁面的支援。

416 (請求範圍不符合要求) 如果頁面無法提供請求的範圍,則伺服器會返回此狀態**。

417 (未滿足期望值) 伺服器未滿足"期望"請求標頭字段的要求。

5xx(伺服器錯誤)

這些狀態**表示伺服器在嘗試處理請求時發生內部錯誤。 這些錯誤可能是伺服器本身的錯誤,而不是請求出錯。

** 說明

500 (伺服器內部錯誤) 伺服器遇到錯誤,無法完成請求。

501 (尚未實施) 伺服器不具備完成請求的功能。 例如,伺服器無法識別請求方法時可能會返回此**。

502 (錯誤閘道器) 伺服器作為閘道器或**,從上游伺服器收到無效響應。

503 (服務不可用) 伺服器目前無法使用(由於超載或停機維護)。 通常,這只是暫時狀態。

504 (閘道器超時) 伺服器作為閘道器或**,但是沒有及時從上游伺服器收到請求。

505 (http 版本不受支援) 伺服器不支援請求中所用的 http 協議版本

當天的典型**:

var url = require('url'); //引入 url 包

res.end('首頁');

break;

case '/login':

res.writehead(200, 'ok', );

var username = query.username;

var password = query.password;

res.write(username);

res.write('

');

res.write(password);

res.write('

');

res.end('登入結束' );

default:

res.writehead(404, 'not found', );

res.end('網頁沒找到'); }

});server.listen(3000, function listencallback() );

網路基礎 HTTP協議概述

web伺服器是web資源的宿主,web資源是web內容的源頭。最簡單的web資源就是存放在web伺服器檔案系統中的靜態檔案。隨著網際網路的發展,所提供的服務也越來越豐富,靜態資源已經滿足不了使用者的多樣化需求了,需要根據使用者需求動態生成相應資源。為了讓客戶端可以指定想要訪問的資源,我們需要為web...

網路基礎與協議入門 (1)HTTP協議重點

1.概述 http是超文字傳輸協議,由全球資訊網協會和internet工作組合作發展,其中著名的rfc2616協議是http協議的核心。2.使用者 http使用者的客戶端,一般被稱為使用者 即user agent。3.源伺服器 http伺服器端,一般被稱為源伺服器,即origin server。4....

網路基礎與協議入門 (1)HTTP協議重點

1.概述 http是超文字傳輸協議,由全球資訊網協會和internet工作組合作發展,其中著名的rfc2616協議是http協議的核心。2.使用者 http使用者的客戶端,一般被稱為使用者 即user agent。3.源伺服器 http伺服器端,一般被稱為源伺服器,即origin server。4....