瀏覽器相關
-
瀏覽器對同一個域名有連接數限制,大部分是 6。
-
瀏覽器指的是 Chrome、Firefox,而瀏覽器內核則是 Blink、Gecko,瀏覽器內核只負責渲染,GUI 及網絡連接等跨平台工作則是瀏覽器實現的。
-
Chrome 瀏覽器的每個標簽頁都分別對應一個呈現引擎實例,每個標簽頁都是一個獨立的進程。
-
瀏覽器的容錯機制,例: WebKit會把
處理成
。 -
呈現器坐標系是相對於根框架而建立的,使用的是上坐標和左坐標。
-
css盒模型:每一個框都有一個內容區域(例如文本、圖片等),還有可選的周圍補白、邊框和邊距區域。所有元素都有一個“display”屬性,決定了它們所對應生成的框類型。
-
如果網站在HSTS列表里,瀏覽器會使用 HTTPS 而不是 HTTP 協議,否則,最初的請求會使用HTTP協議發送,注意,一個網站哪怕不在 HSTS 列表里,也可以要求瀏覽器對自己使用 HSTS 政策進行訪問。
網絡分層架構圖
網絡分層有3種方式: OSI有7層、tcp有4層、Cisco有3層。
互聯網基於分層架構實現,包括應用層、傳輸層、網絡層、鏈路層、物理層, 也就是TCP(傳輸層)/IP(網絡層)分層模型。
- 應用層:
應用層是我們經常接觸使用的部分,比如常用的http協議、ftp協議(文件傳輸協議)、snmp(網絡管理協議)、telnet (遠程登錄協議 )、smtp(簡單郵件傳輸協議)、dns(域名解析),這次主要是面向用戶的交互的。這里的應用層集成了osi分層模型中 的應用、會話、表示層三層的功能。
- 傳輸層:
傳輸層的作用就是將應用層的數據進行傳輸轉運。比如我們常說的tcp(可靠的傳輸控制協議)、udp(用戶數據報協議)。傳輸單位為報文段。
tcp(Transmission Control Protocol): 面向連接(先要和對方確定連接、傳輸結束需要斷開連接,類似打電話)、復雜可靠的、有很好的重傳和查錯機制。一般用與高速、可靠的通信服務。
udp(user datagram protocol):面向無連接(無需確認對方是否存在,類似寄包裹)、簡單高效、沒有重傳機制。一般用於即時通訊、廣播通信等
- 網絡層:
網絡層用來處理網絡中流動的數據包,數據包為最小的傳遞單位,比如我們常用的ip協議、icmp協議、arp協議(通過分析ip地址得出物理mac地址)。
- 鏈路層:
數據鏈路層一般用來處理連接硬件的部分,包括控制網卡、硬件相關的設備驅動等。傳輸單位數據幀。
- 物理層:
物理層一般為負責數據傳輸的硬件,比如我們了解的雙絞線電纜、無線、光纖等。比特流光電等信號發送接收數據。
TCP協議三次握手
第一次握手:客戶端發送帶有SYN標志的連接請求報文段,然后進入SYN_SEND狀態,等待服務端的確認。
第二次握手:服務端接收到客戶端的SYN報文段后,需要發送ACK信息對這個SYN報文段進行確認。同時,還要發送自己的SYN請求信息。服務端會將上述的信息放到一個報文段(SYN+ACK報文段)中,一並發送給客戶端,此時服務端將會進入SYN_RECV狀態。
第三次握手:客戶端接收到服務端的SYN+ACK報文段后,會想服務端發送ACK確認報文段,這個報文段發送完畢后,客戶端和服務端都進入ESTABLISHED狀態,完成TCP三次握手。
當三次握手完成后,TCP協議會為連接雙方維持連接狀態。
DNS
通過DNS服務把域名解析成IP地址.
WebSpcket
WebSocket, 一種「雙向通信」的協議。WS的默認端口是80和443, 協議由兩部分組成:握手和數據傳輸。
HTTP協議狀態碼取值
1xx:指示信息--表示請求已接收,繼續處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--要完成請求必須進行更進一步的操作
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
5xx:服務器端錯誤--服務器未能實現合法的請求
常見狀態代碼、狀態描述、說明
200 OK //客戶端請求成功
400 Bad Request //客戶端請求有語法錯誤,不能被服務器所理解
401 Unauthorized //請求未經授權,這個狀態代碼必須和WWW-Authenticate報頭域一起使用
403 Forbidden //服務器收到請求,但是拒絕提供服務
404 Not Found //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error //服務器發生不可預期的錯誤
503 Server Unavailable //服務器當前不能處理客戶端的請求,一段時間后可能恢復正常
eg:HTTP/1.1 200 OK (CRLF)
URI和URL的區別
URL叫做統一資源定位符,而URI叫做統一資源標識符。
URL的范圍是要大於URI的。以淘寶的例子來說,
https://www.taobao.com/
這個域名就是URL,而每個商品的地址就是一個URI。
HTTPS相比較HTTP的優缺點:
優點:
-
HTTPS采用了非對稱加密的方式,用公鑰去加密,用私鑰去解密。常見的非對稱加密算法是RSA。
-
為了保證密鑰的合法性,HTTPS采用了數字證書這個概念。
-
HTTPS使用了MAC算法來保證其完整性。
缺點:
-
速度慢
-
CPU及內存等資源的消耗大
-
證書得向認證機構購買(Let’s Encrypt可免費申請證書)
HTTP使用的認證方式
BASIC認證、DIGEST認證、SSL客戶端驗證、基於表單驗證。
