HTML5 的新特性
- 語義化標(biāo)簽:header、footer、section、nav、aside、article
- 音頻視頻:audio、video
- canvas
- 地理定位:
- 拖拽:drag
- 本地存儲:localStorage、sessionStorage
- WebSocket
localStorage,sessionStorage,cookie 的區(qū)別
本地存儲方法有Cookie和h5的WebStorage
共同點:都是保存在瀏覽器端。
區(qū)別:
(1) 存儲大小限制不同
cookie數(shù)據(jù)不能超過4k,sessionStorage和localStorage 比cookie大得多,可以達到5M或更大。
(2) 數(shù)據(jù)有效期不同
sessionStorage:僅在當(dāng)前瀏覽器窗口關(guān)閉前有效。
localStorage:長期有效,直到用戶刪除。
cookie:在設(shè)置的cookie過期時間之前一直有效,默認為瀏覽器關(guān)閉。
(3) 作用域不同
cookie和localStorage,同源,同瀏覽器,可以在不同頁面共享。
sessionStorage:同源,同瀏覽器,同一個頁面。
(4) cookie數(shù)據(jù)始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和服務(wù)器間來回傳遞。sessionStorage和localStorage不會自動把數(shù)據(jù)發(fā)給服務(wù)器,僅在本地保存。
sessionStorage非常少用,一般用localStorage
瀏覽器輸入url后發(fā)生了什么
1.DNS解析、2.TCP連接、3.發(fā)送http請求、4.處理請求返回的數(shù)據(jù)、5.頁面渲染、6.關(guān)閉連接
dns其實是域名解析服務(wù)器,因為域名是要解析成ip地址的,所以要使用dns解析。
TCP是傳輸控制協(xié)議,http協(xié)議就是基于tcp協(xié)議的。在傳輸數(shù)據(jù)之前,必須通過tcp連接進行3次握手來初始化。
https協(xié)議
https協(xié)議就是http協(xié)議加上SSL協(xié)議,傳輸?shù)臄?shù)據(jù)是經(jīng)過加密的,比http更安全。
https傳輸過程:
1.首先經(jīng)過TCP三次握手建立連接,然后開始SSL通信
2.客戶端首先發(fā)送ssl信息和加密算法到服務(wù)器
3.服務(wù)器返回ssl信息
4.然后開始驗證,驗證通過后進行HTTP數(shù)據(jù)傳輸。
什么是瀏覽器緩存?
瀏覽器緩存就是瀏覽器會緩存當(dāng)前頁面,當(dāng)你下次訪問這個頁面的時候會先查看瀏覽器緩存是否有該頁面,而不是馬上請求服務(wù)器
HTML文件的DOCTYPE有什么作用?
告訴瀏覽器的解析器要使用哪種HTML規(guī)范來解析頁面。
ajax
ajax:異步的js和xml。就是在利用js操作瀏覽器的XMLHttpRequest對象來與服務(wù)器進行數(shù)據(jù)交互的方式。
ajax可以使網(wǎng)頁在不刷新的情況下實現(xiàn)局部更新數(shù)據(jù)。
URL組成
由通訊協(xié)議、域名/IP地址、資源存放路徑組成。
1613999513835.png
URL編碼
作用:為了保證發(fā)送給服務(wù)器的url以及參數(shù)不會被服務(wù)器解析錯誤。比如你想傳遞的參數(shù)有中文,那就要進行url編碼。
方法:編碼:encodeURL()、解碼:decodeURL()
JSON
json字符串是一種數(shù)據(jù)格式,一般服務(wù)器響應(yīng)回來的數(shù)據(jù)格式都是json格式。
我們經(jīng)常會用json的序列化(parse)和反序列化(stringify)來拷貝數(shù)據(jù)。
跨域
造成跨域主要是因為瀏覽器的同源策略。為了保證用戶信息的安全,瀏覽器會禁止不同源的兩個域進行訪問。如果協(xié)議、域名、端口有一個不相同則為不同源,也就是跨域。不同源的話我們是無法共享cookie、localStorage等本地資源,以及不能發(fā)送請求和操作dom。
但我們在使用ajax的時候會經(jīng)??缬?,所以有以下幾種解決跨域的方法:
1.使用CORS,也就是跨域資源共享,不過這都是后臺在服務(wù)器進行設(shè)置就可以了
2.使用JSONP跨域,所有瀏覽器都可以使用這個方法進行跨域,但它只支持get請求。
jsonp跨域原理:因為script標(biāo)簽和img標(biāo)簽的src是可以進行跨域請求的。所以jsonp跨域就是利用在script標(biāo)簽的src屬性添加回調(diào)的函數(shù)名,然后就會發(fā)送一個get請求到服務(wù)器,服務(wù)器解析后會找到對應(yīng)的函數(shù)去做這個回調(diào),然后把數(shù)據(jù)返回。
介紹一下xhtml和html的區(qū)別是什么?
html是超文本標(biāo)記語言,xhtml就是可擴展超文本標(biāo)記語言,xhtml表現(xiàn)方式和html類似,但在語法上更加嚴(yán)格,例如:所有標(biāo)簽必須閉合和小寫,所有參數(shù)值包括數(shù)字都要加引號。
用html的經(jīng)驗解決seo優(yōu)化問題
SEO是英文Search Engine Optimization的縮寫,中文譯為“搜索引擎優(yōu)化”。
html進行seo的幾種方法:
1.給a標(biāo)簽添加title,給圖片添加alt,合理使用keywords,description標(biāo)簽。
2.合理使用h標(biāo)簽,一個頁面只能有一個h1標(biāo)簽。合理使用h5新增標(biāo)簽:section,article。
3.關(guān)鍵字使用strong標(biāo)簽,列表使用ul/ol。
