既是拾人牙慧,部分問題就直接放我認爲比較優秀的文章連接了,僅供參考。若是您發現錯誤,請必定要告訴我,拯救一個辣雞(但很帥)的少年就靠您了!html
TCP 面向鏈接,UDP 是無鏈接的,即發送數據以前不須要創建鏈接。算法
TCP 提供可靠的服務。也就是說,經過TCP鏈接傳送的數據,無差錯,不丟失,不重複,且按序到達;UDP 盡最大努力交付,即不保證可靠交付。數據庫
TCP 面向字節流,其實是 TCP 把數據當作一連串無結構的字節流;UDP 是面向報文的。UDP 沒有擁塞控制,所以網絡出現擁塞不會使源主機的發送速率下降(對實時應用頗有用,如 IP 電話,實時視頻會議等)。跨域
每一條 TCP 鏈接只能是點到點的;UDP 支持一對一,一對多,多對一和多對多的交互通訊。瀏覽器
TCP 首部開銷 20 字節;UDP 的首部開銷小,只有 8 個字節。緩存
TCP 的邏輯通訊信道是全雙工的可靠信道,UDP則是不可靠信道。安全
TCP沒那麼難吧?服務器
超文本傳輸協議(HyperText Transfer Protocol,HTTP)是一種用於分佈式、協做式和超媒體信息系統的應用層協議。HTTP是萬維網的數據通訊的基礎。cookie
1xx:消息,請求已被服務器接收,繼續處理
2xx:成功,請求已成功被服務器接收、理解、並接受
3xx:重定向,須要後續操做才能完成這一請求
4xx:請求錯誤,請求含有詞法錯誤或者沒法被執行
5xx:服務器錯誤,服務器在處理某個正確請求時發生錯誤
OPTIONS
, GET
, HEAD
, POST
, PUT
, DELETE
, TRACE
等
POST
和 GET
區別?
關鍵詞: Expires/Cache-Control
、public/private
、no-store/no-cache
、Last-Modified/Etag
兩個感性的小故事:HTTPS 的故事、一個故事講完https
HTTPS 是 HTTP 的安全版,即 HTTP 下加入 SSL 層。
SSL 協議位於 TCP/IP 協議與各類應用層協議之間,爲數據通信提供安全支持。
SSL協議可分爲兩層:
SSL 記錄協議(SSL Record Protocol):它創建在可靠的傳輸協議(如TCP)之上,爲高層協議提供數據封裝、壓縮、加密等基本功能的支持。
SSL 握手協議(SSL Handshake Protocol):它創建在 SSL 記錄協議之上,用於在實際的數據傳輸開始前,通信雙方進行身份認證、協商加密算法、交換加密密鑰等。
Cookie
數據始終在同源的 HTTP 請求中攜帶(即便不須要),即 Cookie
在瀏覽器和服務器間來回傳遞。而 sessionStorage
和 localStorage
不會自動把數據發給服務器,僅在本地保存。Cookie
數據還有路徑(path)的概念,能夠限制 Cookie
只屬於某個路徑下,存儲的大小很小隻有4K左右。
sessionStorage
僅在當前瀏覽器窗口關閉前有效,localStorage
始終有效,窗口或瀏覽器關閉也一直保存,所以用做持久數據,Cookie
只在設置的 Cookie
過時時間以前一直有效,即便窗口或瀏覽器關閉。
localStorage
和 Cookie
在全部同源窗口中都是共享的。可是不一樣頁面或標籤頁間沒法共享 sessionStorage
的信息。
IndexDB
是一個運行在瀏覽器上的非關係型數據庫。理論上來講,IndexDB
是沒有存儲上限的(通常來講不會小於 250M)。它不只能夠存儲字符串,還能夠存儲二進制數據。
由於 HTTP 是無狀態協議,每一次請求間相互獨立,服務端不會記住請求發送請求的客戶端。
淺顯的理解三種方式,cookie、session 和 token 。
cookie 存儲用戶信息。缺點不安全,容易被僞造。
session 是服務端會記錄用戶信息,並經過 session id 來標識查找這個信息。瀏覽器發送請求時經過參數或 cookie 將 session id 傳給服務端使其獲取用戶信息。
token 是用戶登陸後,服務端生成一個 token 返回給客戶端。客戶端後續請求會帶上這個 token ,能夠經過 cookie 或 header 中 Authorization 字段(沒有 cookie 的跨域問題),服務端解析 token 獲取用戶信息。
(再看一遍以爲阮一峯老師寫的真好……