網路分為五個層次:
其中各個層次的作用
在tcp/ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線。
總結一下:程式在傳送訊息時,應用層按既定的協議打包資料,隨後由資料層加上雙方埠號,網路層加上雙方ip位址,鏈路層加上雙方mac位址,並且將資料拆分成資料幀,經過多個路由器和閘道器後到達目的機器。簡而言之,就是按「埠–ip位址–mac位址」這樣的路徑進行資料的封裝和傳送。客戶端給出協議版本號、乙個客戶端隨機數a(client random)以及客戶端支援的加密方式
服務端確認雙方使用的加密方式,並給出數字證書、乙個伺服器生成的隨機數b(server random)
客戶端確認數字證書有效,生成乙個新的隨機數c(pre-master-secret),使用證書中的公鑰對c加密,傳送給服務端
服務端使用自己的私鑰解密出c
客戶端和伺服器根據約定的加密方法,使用三個隨機數abc,生成對話秘鑰,之後的通訊都用這個對話秘鑰進行加密。
http跟https的區別:
主要為以下四點:
一、https協議需要到ca申請證書,一般免費證書很少,需要交費。
二、http是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。
三、http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。
四、http的連線很簡單,是無狀態的;https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。
http請求錯誤碼 (分段)
常見的有 404 405 等…
錯誤碼段:
示例:
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 協議版本。
http https工作原理
1.web瀏覽器首先要通過網路與web伺服器建立鏈結 在http工作之前,web瀏覽器首先要通過網路與web伺服器建立鏈結,該鏈結是通過tcp來完成的,tcp協議和ip協議共同構建了internet,從應用分層來看,http比tcp更高層次的應用層協議。根據osi規則,只有底層協議建立之後才能進行更...
http https協議備忘
http hypertext transfer protocol,超文字傳輸協議 基於tcp連線 url uniform resource locator,統一資源定位符 用於指明網路資源的位址 http報文型別分為請求報文和響應報文 http請求報文由客戶端向服務端傳送 http請求報文由三部分組...
http,https協議解析
超文字傳輸協議 hypertext transfer protocol,http http預設使用80埠,https預設使用443埠.序號 組成部分描述1 請求行描述客戶端的請求方式 get,post 請求資源名稱 http協議版本號 2請求頭 客戶端請求的伺服器主機名,客戶端機器環境資訊3空行 換...