<header></header>、<footer></footer>
等等特性 | cookie | sessionStorage | localStorage |
---|---|---|---|
生命週期 | 可設置失效時間,沒有設置的話,默認是關閉瀏覽器後失效 | 當用戶關閉瀏覽器窗口後,數據會被刪除 | 數據能夠永久保存,除非手動清除 |
存放數據大小 | 不能超過4KB左右 | 能夠保存5MB的信息甚至更大 | 能夠保存5MB的信息甚至更大 |
http請求 | 每次都會攜帶在HTTP頭中,若是使用cookie保存過多數據會帶來性能問題 | 僅在客戶端(即瀏覽器)中保存,不參與和服務器的通訊 | 僅在客戶端(即瀏覽器)中保存,不參與和服務器的通訊 |
http和https的基本概念javascript
http和https的區別?css
http傳輸的數據都是未加密的,也就是明文的,網景公司設置了SSL協議來對http協議傳輸的數據進行加密處理,簡單來講https協議是由http和ssl協議構建的可進行加密傳輸和身份認證的網絡協議,比http協議的安全性更高。html
主要的區別以下:前端
Https協議須要ca證書,費用較高。html5
http是超文本傳輸協議,信息是明文傳輸,https則是具備安全性的ssl加密傳輸協議。java
使用不一樣的連接方式,端口也不一樣,通常而言,http協議的端口爲80,https的端口爲443,http的鏈接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。web
https協議的工做原理算法
客戶端在使用HTTPS方式與Web服務器通訊時有如下幾個步驟,以下所示:api
客戶使用https url訪問服務器,則要求web 服務器創建ssl連接。數組
web服務器接收到客戶端的請求以後,會將網站的證書(證書中包含了公鑰),返回或者說傳輸給客戶端。
客戶端和web服務器端開始協商SSL連接的安全等級,也就是加密等級。
客戶端瀏覽器經過雙方協商一致的安全等級,創建會話密鑰,而後經過網站的公鑰來加密會話密鑰,並傳送給網站。
web服務器經過本身的私鑰解密出會話密鑰。
web服務器經過會話密鑰加密與客戶端之間的通訊。
https協議的優勢
https協議的缺點
什麼是WebSocket?
WebSocket是HTML5中的協議,支持持久連續,http協議不支持持久性鏈接。Http1.0和HTTP1.1都不支持持久性的連接,HTTP1.1中的keep-alive,將多個http請求合併爲1個
WebSocket是什麼樣的協議,具體有什麼優勢?
HTTP的生命週期經過Request來界定,也就是Request一個Response,那麼在Http1.0協議中,此次Http請求就結束了。在Http1.1中進行了改進,是的有一個connection:Keep-alive,也就是說,在一個Http鏈接中,能夠發送多個Request,接收多個Response。可是必須記住,在Http中一個Request只能對應有一個Response,並且這個Response是被動的,不能主動發起。
WebSocket是基於Http協議的,或者說借用了Http協議來完成一部分握手,在握手階段與Http是相同的。咱們來看一個websocket握手協議的實現,基本是2個屬性,upgrade,connection。
在HTML頁面中,若是在執行腳本時,頁面的狀態是不可相應的,直到腳本執行完成後,頁面才變成可相應。web worker是運行在後臺的js,獨立於其餘腳本,不會影響頁面你的性能。而且經過postMessage將結果回傳到主線程。這樣在進行復雜操做的時候,就不會阻塞主線程了。
如何建立web worker:
檢測瀏覽器對於web worker的支持性
建立web worker文件(js,回傳函數等)
建立web worker對象
iframe元素會建立包含另外一個文檔的內聯框架,能夠將提示文字放在<iframe></iframe>
之間,來提示某些不支持iframe的瀏覽器
缺點:
會阻塞主頁面的onload事件
搜索引擎沒法解讀這種頁面,不利於SEO
iframe和主頁面共享鏈接池,而瀏覽器對相同區域有限制因此會影響性能。