計算機網路重點知識解析(2)

2021-10-25 01:36:56 字數 2376 閱讀 6941

https協議

socket 簡介

總結http是乙個簡單的請求-響應協議,它通常執行在tcp之上。它指定了客戶端可能傳送給伺服器什麼樣的訊息以及得到什麼樣的響應。

http有許多版本,用的最多的是http1.1,下文中**的也是多以1.1為標準。

簡單介紹一下http協議的特點:

1丶支援客戶伺服器模式。

2丶簡單快速。

3丶靈活,支援多種資料型別。

4丶無連線,無連線的含義是限制每次連線只處理乙個請求,處理完後斷開連線,1.1後預設使用長連線,伺服器一段時間後斷開連線,保證連線特性。

5丶無狀態,協議對於事務處理沒有記憶能力,後面資料如果需要前面資訊,必須重傳

先來看下http的請求結構和響應結構:

了解了http協議的基本內容,來看下一次http協議的請求到響應的過程:

有一道比較常見的題目,可以看下:

先是dns解析,通過網域名稱獲得ip位址,通過ip位址,建立tcp連線,tcp連線建立後,客戶端向伺服器傳送http請求,伺服器收到後處理請求並返回http報文,瀏覽器,即客戶端,解析並渲染頁面,最後連線結束。

了解下http常見的狀態碼。

一般來說

1開頭的狀態碼表示請求已接收,繼續處理;2開頭的一般表示成功;3開頭的一般代表重定向;4開頭的代表客戶端錯誤;5開頭的表示伺服器錯誤。

我們再來了解下兩種http請求的方式,get請求和post請求。

從http報文層面來看,get請求一般將請求資訊,例如請求引數,放在url上,而post請求一般放在報文體中,相對來說post請求更加安全。

從資料層面來看,get請求一般用於對資料的查詢,不改變資料庫,符合冪等性和安全性,post則不符合。

另外,get請求可以被快取,被儲存,post請求則不行。

cookie和session在開發中也是十分常見的。

一般來說,伺服器有兩種方式得到客戶端的session資訊,一種是使用cookie實現,也是比較常見的方式,jsessionid儲存在cookie中,伺服器解析到jsessionid,找到客戶端對應session。第二種是url回寫,讓所有的url都帶有jsessionid 引數。

我們熟悉的tomcat伺服器優先使用cookie,cookie被禁用則使用url回寫。

除了http協議,現在htps協議也越來越被廣泛應用。

https協議是一種通過計算機網路進行安全通訊的傳輸協議。https經由http進行通訊,但利用ssl/tls來加密資料報。https開發的主要目的,是提供對**伺服器的身份認證,保護交換資料的隱私與完整性。這個協議由網景公司(netscape)在2023年首次提出,隨後擴充套件到網際網路上。

簡單來說,https 是 http 的安全版,是使用 ssl/tls 加密的 http 協議。通過 tls/ssl 協議的的身份驗證、資訊加密和完整性校驗的功能,從而避免資訊竊聽、資訊篡改和資訊劫持的風險。

簡單來說,https協議即是http協議加上了一層ssl層,來保證資訊的安全傳輸。

再來看下https協議和http協議的區別,如下圖:

最後,我們再來了解下socket

所謂套接字(socket),就是對網路中不同主機上的應用程序之間進行雙向通訊的端點的抽象。乙個套接字就是網路上程序通訊的一端,提供了應用層程序利用網路協議交換資料的機制。從所處的地位來講,套接字上聯應用程序,下聯網路協議棧,是應用程式通過網路協議進行通訊的介面,是應用程式與網路協議根進行互動的介面 。

一般通過ip和埠號,來唯一標識乙個socket埠。

socket的通訊流程:

到此,計算機網路就基本總結完了,這塊知識點比較複雜繁瑣,確是程式設計開發中不可缺少的基礎。希望大家可以多花時間學習鞏固。

計算機網路重點知識

osi參考模型的七層架構 tcp ip的四層架構 乙太網幀的格式 mtu的概念 需要拓展 arp協議和rarp協議 掌握一下arp快取的原理 掌握報文格式 報文分類 一是錯誤報文 二是查詢報文。五種訊息型別 udp,次要一點,掌握特點和首部各個字段 掌握tcp 特點 首部字段 可靠機制 連線控制 三...

計算機網路重點知識鞏固 web基礎

楔子 本科學業學習了計算機網路很多大部分內容,但是其實以後在開發過程中用的其實就那幾個比較重要的,例如http協議,網域名稱分配,tcp ip協議,比較深入的例如擁塞控制等真的沒有用到 對於學習計算機網路困惑的同學 學校的教材計算機網路那本書真是又厚又是外國翻譯來的,看的真是枯燥乏味,不知道重點在 ...

計算機網路重點知識鞏固 http協議

楔子 學了計算機網路,如果還不懂裡面的核心http協議那就是白學了,建議沒有耐心學習計算機網路大厚本的人,了解好http協議就可以了,鞏固的話自己親自抓幾個包分析最好。http 超文字傳輸協議hypertext transfer protocal,http是網際網路使用最為廣泛的一種協議,所有網頁檔...