HTTP、HTTPS協議

1.HTTP協議
HTTP是超文本傳輸協議,是一個基於請求與響應,無狀態的應用層協議
2.HTTPS協議
HTTPS是超文本傳輸安全協議
爲什麼HTTPS是安全的?加密是用什麼實現的
答:因爲它在HTTP協議上建立了SSL加密層,對傳輸數據進行加密,HTTP先與SSL通信,SSL再與TCP通信。有了SSL就會對信息加密,身份驗證以及完整性校驗。SSL的功能實現是基於散列函數,對稱加密和非對稱加密。
3.HTTP和HTTPS的區別
(1)HTTP是明文傳輸,HTTPS是密文傳輸
(2)HTTPS一般需要到CA申請證書,並且證書免費的比較少,所以需要一定的費用
(3)HTTP的端口是80端口,HTTPS是443
(4)HTTP的連接很簡單,是無狀態的。HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡,比HTTP協議安全
4.應用層都有哪些協議
DNS:域名解析協議 FTP:文件傳輸協議 SMTP:郵件傳輸協議
HTTP:超文本傳輸協議 Telnet:遠程登錄協議
5.網頁上輸入一個UR,按下回車發生的事情
(1)先使用DNS進行域名解析,根據URL得到IP地址
(2)客戶端根據具體的IP地址,找到具體的服務器
(3)客戶端與服務器端建立TCP連接
(4)客戶端向服務器端發送一個http請求
(5)服務器端給客戶端響應html文件
(6)客戶端解析html文件,並請求文件中的資源
(7)客戶端對頁面進行渲染,關閉TCP連接
6.常用狀態碼
100:客戶端繼續發送請求給服務器
200:請求成功
201:客戶端請求成功,並且新的資源已經按照請求建立
300:請求的資源有一系列的回饋信息
301:永久重定向,請求的資源已經永久移動到新的位置
302:臨時重定向,請求的資源臨時被移動到新的位置
400:語義錯誤,當前的請求服務器不能理解
403:拒絕訪問,服務器理解了你的請求,但是拒絕訪問
404:請求失敗,找不到客戶端請求的資源
500:服務器無法完成對請求的處理
7.Get和Post的區別
(1)get比post不安全,get請求的數據放在url上,而post的數據對用戶是不可用的
(2)get對數據有一定的長度限制,因爲數據是存放在url的,url有一定的長度限制,而post沒有
(3)get在瀏覽器回退時是沒有影響的,而post會再次提交請求
(4)瀏覽器對get的請求會主動緩存,而post不會
(5)瀏覽器對get的請求參數會保存在瀏覽器的歷史記錄中,而post不會
(6)get對於表單的數據集只能是ASCII字符集,而post支持所有字符集
(7)get產生的url地址可以被收藏爲書籤,而post不能
8.代理服務器
代理網絡用戶去取得網絡信息。它是網絡信息的中轉站,它負責轉發合法的網絡信息,對轉發進行控制和登記。可用於多個目的,最基本的功能是連接,還包括安全性、緩存、訪問控制管理等。
9.跨域:當一個請求的協議、端口、域名三者之間任意一個與當前頁面url不同,即爲跨域
10.HTTP常見header
Content-type:數據類型 Content-length:請求體的長度
host:告訴服務器,所請求的資源在哪個主機上的哪個端口上
user-agent:告訴服務器,客戶端的操作系統及瀏覽器信息
referer:當前頁面是從哪個頁面跳轉過來的
location:告訴客戶端接下來要去哪裏訪問
11.公網IP
互聯網上的每一個計算機都有一個IP地址,該地址唯一確定互聯網上的一臺計算機
12.HTTP1.0 HTTP1.1 HTTP2.0的區別
http1.0與http1.1的區別:
(1)支持多連接,一個TCP連接上可以處理多個http請求
(2)節約寬帶,http1.1支持只發送header信息,如果服務器認爲客戶端有權訪問,則返回100,客戶端繼續發送請求信息,如果服務器認爲客戶端沒有權限,則不用再發送,節約了寬帶
(3)緩存處理,http1.1支持更多的緩存控制策略
(4)host域
http1.1與http2.0的區別:
(1)多路複用,同一個連接併發處理多個請求
(2)頭部數據壓縮,對header的數據壓縮
(3)服務器推送,允許服務器端推送資源給客戶端
13.計算機網絡每層的功能及協議
應用層:負責應用程序之間的通信,協議有http、ftp、smtp、telnet
傳輸層:負責數據的傳輸,協議有tcp、udp
網絡層:負責地址管理和路由選擇,協議有ip、arp
數據鏈路層:負責設備之間的數據幀的識別和傳送
物理層:負責光、電信號的傳遞方式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章