http協議相關

2021-09-23 17:21:04 字數 2777 閱讀 5120

dns:domain name system,網域名稱系統。作為網域名稱 和 ip位址 相互對映的分布式資料庫。

網路請求發出時:應用層——>傳輸層——>網路層——>鏈路層——>物理層

收到響應:           物理層——>鏈路層——>網路層——>傳輸層——>應用層

簡述請求的過程

答:在瀏覽器輸入,回車後

1、客戶端瀏覽器通過dns解析到www.baidu.com的ip位址,通過這個ip位址找到客戶端-伺服器的路徑

2、瀏覽器與伺服器通過路徑建立tcp連線(預設埠80)

3、瀏覽器傳送http請求

4、伺服器響應請求,並傳送內容到瀏覽器

5、瀏覽器解析資料,並渲染出來展示

6、瀏覽器關閉tcp

涉及到的協議:

1、應用層:http(www訪問協議), dns(網域名稱解析服務)

2、傳輸層:tcp(為http提供可靠的資料傳輸),udp(dns使用udp傳輸)

http協議相關

一、什麼是http協議?

答:客戶端 和 伺服器之間的傳輸資料的格式規範,也叫做「超文字傳輸協議」。

二、http協議特點

1、支援c/s模式

2、簡單快速:客戶端向伺服器請求服務時,只需傳送請求方法 和 路徑。由於http協議簡單,使得http伺服器的規模小,因而通訊速度很快。

3、靈活:http允許傳輸任意型別的資料物件。正在傳輸的型別由content-type加以標記。

4、無連線:無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶端的請求,並收到客戶端的應答後,即斷開連線。採用這種方式可以節省傳輸時間。

5、無狀態:無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則必須重傳,這樣有可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就比較快。

注:無狀態解決辦法:1)通過cookie        2)通過session會話儲存

三、http協議組成

1、請求報文由三部分組成

* 請求行:包含請求方法,uri,http版本

* 請求頭

* 請求內容實體

2、響應報文由三部分組成

* 狀態行:包含http版本, 狀態碼, 狀態碼描述短語

* 響應首部

* 響應內容實體

四、http中的302狀態

http協議中,302表示重定向。

這種情況下,伺服器返回的頭部資訊中會包含乙個location欄位,內容是重定向到的url。

五、http1.0 和 1.1區別

答:1、http1.0規定瀏覽器與伺服器只保持短暫的連線,瀏覽器的每次請求都要與伺服器建立乙個tcp連線,伺服器完成請求處理後立即斷開tcp連線,伺服器不跟蹤每個客戶也不記錄過去的請求。

http1.1則支援持久連線,在同乙個tcp連線中可以傳送多個http請求和響應。

2、http1.1增加了host欄位,還有一些cache的新特性

六、get 和 post區別

1、傳輸資料方式不同:get是通過url拼接引數的形式,post是放在請求體中

2、get傳輸量小,受url長度限制,post可傳輸大量資料

3、get明文傳輸,不安全,post則相對安全。

4、get請求只能進行url編碼,而post則支援多種編碼方式。

七、https

簡單講,就是http的安全版。http是應用層協議,位於http協議之下的是傳輸協議tcp。tcp負責傳輸,http則定義了資料如何進行包裝,在http跟tcp之間加了一層加密層tls/ssl。ssl是個加密套件,負責對http資料進行加密。tls是ssl的公升級版。

傳輸加密的流程:http是 應用層將資料直接給到tcp進行傳輸,https則是應用層將資料給到ssl,將資料加密後,再給到tcp進行傳輸。

https是如何加密資料的:

一般來說,有對稱加密, 非對稱加密。

對稱加密

就是加密資料用的金鑰 跟 解密資料所用的金鑰是一樣的。優點是效率高。缺點則是資料傳送方、接收方需要共享同乙個金鑰,傳輸過程容易被截獲,不安全。

非對稱加密

就是加密資料所用的金鑰(公鑰), 跟解密資料用的金鑰(私鑰)是不一樣的。

加密演算法:

1、對稱加密演算法

des、aes

2、非對稱加密演算法

rsa採用des 和 rsa相結合的方式,可以使它們的優缺點正好互補,即des加密速度快,適合加密較長的報文,可用其加密明文;rsa加密速度慢,安全性好,可對des的金鑰加密,可以解決des金鑰分配的問題。

八、http https的區別

1、https協議需要到ca申請證書,需要一定費用

2、http是超文字傳輸協議,資訊是明文傳輸;https則是具有安全性的ssl加密傳輸協議。

3、http 和 https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

4、http的連線很簡單,是無狀態的;https是由ssl+http協議構建的可進行加密傳輸、身份認證的協議,比http協議安全。

九、https實現原理

1、客戶端使用https的url訪問web伺服器,要求與web伺服器建立ssl連線

2、web伺服器收到客戶端請求後,會將**的證書資訊(證書中包含公鑰)傳送乙份給到客戶端

3、客戶端瀏覽器與 web伺服器開始協商 ssl連線的安全等級,也就是資訊加密的等級

4、客戶端根據雙方同意的安全等級,建立會話金鑰,然後利用**的公鑰將會話金鑰加密,並傳送給**

5、web伺服器利用自己的私鑰解密出會話金鑰

6、web伺服器利用會話金鑰 加密與客戶端之間的通訊。

HTTP 協議相關

1 http請求 分類 請求行 請求頭 請求體 請求行 描述請求的資源 格式 請求方法 資源路徑 協議 例如 get day04 1.html http 1.1 請求方法 get 請求內容追加在url之後 url的長度有限制1k post 請求內容放置在請求體中 請求頭 accept 瀏覽器通知伺服...

HTTP協議相關

一.相關基本概念 1.客戶端與服務端 2.ip 位址 ip是 internet protocol 網路互聯協議 的簡寫,代表網際網路協議位址,是網際網路裝置中的唯一標識。3.網域名稱 因為 ip 位址有著不方便記憶並且不能顯示位址組織的名稱和性質的特點,所為了使人更方便地訪問網際網路,不去記憶特定 ...

HTTP協議 與HTTP相關的協議

在tcp ip協議族中與http密不可分的有3個協議,分別是ip tcp和dns。下面簡單介紹下這3種協議。ip internet protocol 網際協議位於網路層,幾乎所有使用網路的系統都會用到 ip 協議。tcp ip 協議族中的 ip 指的就 是網際協議,ip 和 ip位址 是不同的,ip...