.http和https
https的SSL加密是在傳輸層實現的。
(1)http和https的基本概念
http: 超文本傳輸協議,是互聯網上應用最為廣泛的一種網絡協議,是一個客戶端和服務器端請求和應答的標準(TCP),用于從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網絡傳輸減少。
https: 是以安全為目標的HTTP通道,簡單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。
https協議的主要作用是:建立一個信息安全通道,來確保數組的傳輸,確保網站的真實性。
(2)http和https的區別?
http傳輸的數據都是未加密的,也就是明文的,網景公司設置了SSL協議來對http協議傳輸的數據進行加密處理,簡單來說https協議是由http和ssl協議構建的可進行加密傳輸和身份認證的網絡協議,比http協議的安全性更高。
主要的區別如下:
(3)https協議的工作原理
客戶端在使用HTTPS方式與Web服務器通信時有以下幾個步驟,如圖所示。
(4)https協議的優點
(5)https協議的缺點
2.tcp三次握手,一句話概括
客戶端和服務端都需要直到各自可收發,因此需要三次握手。
簡化三次握手:
從圖片可以得到三次握手可以簡化為:C發起請求連接S確認,也發起連接C確認我們再看看每次握手的作用:第一次握手:S只可以確認 自己可以接受C發送的報文段第二次握手:C可以確認 S收到了自己發送的報文段,并且可以確認 自己可以接受S發送的報文段第三次握手:S可以確認 C收到了自己發送的報文段
3.TCP和UDP的區別
(1)TCP是面向連接的,udp是無連接的即發送數據前不需要先建立鏈接。
(2)TCP提供可靠的服務。也就是說,通過TCP連接傳送的數據,無差錯,不丟失,不重復,且按序到達;UDP盡最大努力交付,即不保證可靠交付。 并且因為tcp可靠,面向連接,不會丟失數據因此適合大數據量的交換。
(3)TCP是面向字節流,UDP面向報文,并且網絡出現擁塞不會使得發送速率降低(因此會出現丟包,對實時的應用比如IP電話和視頻會議等)。
(4)TCP只能是1對1的,UDP支持1對1,1對多。
(5)TCP的首部較大為20字節,而UDP只有8字節。
(6)TCP是面向連接的可靠性傳輸,而UDP是不可靠的。
4.WebSocket的實現和應用
(1)什么是WebSocket?
WebSocket是HTML5中的協議,支持持久連續,http協議不支持持久性連接。Http1.0和HTTP1.1都不支持持久性的鏈接,HTTP1.1中的keep-alive,將多個http請求合并為1個
(2)WebSocket是什么樣的協議,具體有什么優點?
基本請求如下:
GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
Origin: http://example.com
多了下面2個屬性:
Upgrade:webSocket
Connection:Upgrade
告訴服務器發送的是websocket
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
5.HTTP請求的方式,HEAD方式
6.一個圖片url訪問后直接下載怎樣實現?
請求的返回頭里面,用于瀏覽器解析的重要參數就是OSS的API文檔里面的返回http頭,決定用戶下載行為的參數。
下載的情況下:
1. x-oss-object-type:
Normal
2. x-oss-request-id:
598D5ED34F29D01FE2925F41
3. x-oss-storage-class:
Standard
7.web Quality (無障礙)
能夠被殘障人士使用的網站才能稱得上一個易用的(易訪問的)網站。
殘障人士指的是那些帶有殘疾或者身體不健康的用戶。
使用alt屬性:
<img src="person.jpg" alt="this is a person"/>
有時候瀏覽器會無法顯示圖像。具體的原因有:
8.幾個很實用的BOM屬性對象方法?
什么是Bom? Bom是瀏覽器對象。有哪些常用的Bom屬性呢?
(1)location對象
location.href-- 返回或設置當前文檔的URL
location.search -- 返回URL中的查詢字符串部分。例如 http://www.dreamdu.com/dreamdu.php?id=5&name=dreamdu 返回包括(?)后面的內容?id=5&name=dreamdu
location.hash -- 返回URL#后面的內容,如果沒有#,返回空
location.host -- 返回URL中的域名部分,例如www.dreamdu.com
location.hostname -- 返回URL中的主域名部分,例如dreamdu.com
location.pathname -- 返回URL的域名后的部分。例如 http://www.dreamdu.com/xhtml/ 返回/xhtml/
location.port -- 返回URL中的端口部分。例如 http://www.dreamdu.com:8080/xhtml/ 返回8080
location.protocol -- 返回URL中的協議部分。例如 http://www.dreamdu.com:8080/xhtml/ 返回(//)前面的內容http:
location.assign -- 設置當前文檔的URL
location.replace() -- 設置當前文檔的URL,并且在history對象的地址列表中移除這個URL location.replace(url);
location.reload() -- 重載當前頁面
(2)history對象
history.go() -- 前進或后退指定的頁面數 history.go(num);
history.back() -- 后退一頁
history.forward() -- 前進一頁
(3)Navigator對象
navigator.userAgent -- 返回用戶代理頭的字符串表示(就是包括瀏覽器版本信息等的字符串)
navigator.cookieEnabled -- 返回瀏覽器是否支持(啟用)cookie
9.HTML5 drag api
10.http2.0
首先補充一下,http和https的區別,相比于http,https是基于ssl加密的http協議
簡要概括:http2.0是基于1999年發布的http1.0之后的首次更新。
11.補充400和401、403狀態碼
(1)400狀態碼:請求無效
產生原因:
解決方法:
(2)401狀態碼:當前請求需要用戶驗證
(3)403狀態碼:服務器已經得到請求,但是拒絕執行
12.fetch發送2次請求的原因
fetch發送post請求的時候,總是發送2次,第一次狀態碼是204,第二次才成功?
原因很簡單,因為你用fetch的post請求的時候,導致fetch 第一次發送了一個Options請求,詢問服務器是否支持修改的請求頭,如果服務器支持,則在第二次中發送真正的請求。
13.Cookie、sessionStorage、localStorage的區別
共同點:都是保存在瀏覽器端,并且是同源的
補充說明一下cookie的作用:
14.web worker
在HTML頁面中,如果在執行腳本時,頁面的狀態是不可相應的,直到腳本執行完成后,頁面才變成可相應。web worker是運行在后臺的js,獨立于其他腳本,不會影響頁面你的性能。并且通過postMessage將結果回傳到主線程。這樣在進行復雜操作的時候,就不會阻塞主線程了。
如何創建web worker:
15.對HTML語義化標簽的理解
HTML5語義化標簽是指正確的標簽包含了正確的內容,結構良好,便于閱讀,比如nav表示導航條,類似的還有article、header、footer等等標簽。
16.iframe是什么?有什么缺點?
定義:iframe元素會創建包含另一個文檔的內聯框架
提示:可以將提示文字放在<iframe></iframe>之間,來提示某些不支持iframe的瀏覽器
缺點:
17.Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?
Doctype聲明于文檔最前面,告訴瀏覽器以何種方式來渲染頁面,這里有兩種模式,嚴格模式和混雜模式。
18.Cookie如何防范XSS攻擊
XSS(跨站腳本攻擊)是指攻擊者在返回的HTML中嵌入javascript腳本,為了減輕這些攻擊,需要在HTTP頭部配上,set-cookie:
結果應該是這樣的:Set-Cookie=.....
19.Cookie和session的區別
HTTP是一個無狀態協議,因此Cookie的最大的作用就是存儲sessionId用來唯一標識用戶
20. 一句話概括RESTFUL
就是用URL定位資源,用HTTP描述操作
21.講講viewport和移動端布局
可以參考我的這篇文章:
響應式布局的常用解決方案對比(媒體查詢、百分比、rem和vw/vh)(https://github.com/forthealllight/blog/issues/13)
22. click在ios上有300ms延遲,原因及如何解決?
(1)粗暴型,禁用縮放
<meta name="viewport" content="width=device-width, user-scalable=no">
(2)利用FastClick,其原理是:
檢測到touchend事件后,立刻出發模擬click事件,并且把瀏覽器300毫秒之后真正出發的事件給阻斷掉
作者:forthealllight
https://github.com/forthealllight/blog/issues/19
015年,HTML5課程培訓以燎原之勢橫掃IT圈:HTML5工程師缺口巨大、薪資不斷攀高,進入的也都是有名的互聯網大公司,所以HTML5課程培訓備受推崇,設計、網編、站長等紛紛轉戰學習HTML5,掌握這一未來的主流技術。
HTML5工程師成IT行業新貴
根據智聯招聘公布的數據,每個月在智聯企業招聘HTML5工程師的數量達到17891個,不僅如此,根據職友集公布的數據,全國HTML5工程師的平均薪資達到了10168元,工作3年以上的HTML5工程師年薪可以達到20萬以上。除此之外,HTML5工程師進入的多是發展空間大、福利待遇好的互聯網大公司,HTML5工程師以其高需求量和高薪酬的雙高特色成為IT行業職場新貴。
千鋒HTML5課程培訓11月火爆登陸上海
自千鋒在北京開設HTML5課程培訓以來,其火爆程度遠遠超出了預期,各地區想要學習HTML5的學員越來越多,面對市場的強烈需求,千鋒歷時多年研發實踐的HTML5課程火爆登陸上海,將于2015年11月23號,千鋒上海校區開設HTML5首期就業班!
千鋒HTML5課程是國內首家完整的移動前端開發課程,由特聘原中科院計算所培訓中心WEB前端專家、 原BAT(百度、阿里、騰訊)等企業H5工程師聯合開發,高度專注移動端,既涵蓋CSS3、JavaScript、JQuery、Ajax等這些核心技術,又兼具深度、廣度、實用性,符合絕大部分企業招聘需求;與此同時,千鋒的HTML5課程體系也根據企業的需求進行更新,讓課程與最新技術同步,對接一線互聯網前端掌握技能。
目前,千鋒的HTML5課程完全包含web前端課程體系,講師教學以項目教學法,采用知識面授的方式教授學員,突出學員的實戰能力,讓學員在學習的同時積累經驗,貼合企業的人才需求方向,畢業之后可直接進入到互聯網大公司工作。
如果你在上海還沒有方向,來千鋒學習HTML5技術成為未來互聯網的主宰者!快樂學習、快樂成功,只在千鋒有。
瘋狂 HTML 5 CSS 3 JavaScript講義(第2版)》由知名IT作家李剛老師創作,本書的中文繁體字版授權到中國臺灣地區,全書面向HTML 5.1規范正式版,更新多個元素、拖放規范的相關知識,新增外掛字幕、點線模式等內容,著重介紹新增的手機端相關特性,詳細介紹漸變背景支持、彈性盒布局、手機瀏覽器響應式布局、3D變換等CSS新增特性及重大改進。
內容簡介:
W3C于2016年11月1日正式發布了HTML 5.1規范,該規范已經得到廣大瀏覽器廠商的支持,主流的*版本的瀏覽器幾乎都支持該規范。與此同時,前端開發的持續火爆,使得HTML 5成為目前的熱門領域。本書是一本全面介紹HTML 5、CSS 3和JavaScript前端開發技術的圖書,系統地介紹了HTML 5常用的元素和屬性、HTML 5的表單元素和屬性、HTML 5的繪圖支持、HTML 5的多媒體支持、CSS 3的功能和用法、*前沿的變形與動畫功能等。除此之外,本書還系統地介紹了JavaScript編程知識,包括JavaScript基本語法、DOM編程,以及HTML 5新增的本地存儲、Indexed數據庫、離線應用、JavaScript多線程、客戶端通信支持、WebSocket編程等。本書的定位是一本前端開發的“實戰性”圖書,因此在介紹各知識點時并不是簡單地停留在知識點層面闡述,而是結合了大量實例來讓讀者對照練習、學以致用。本書*后還提供了一個基于HTML 5技術的小游戲:瘋狂俄羅斯方塊。該游戲綜合運用了HTML 5的繪圖支持、客戶端存儲等技術,具有較高的參考價值。
作者簡介:
李剛,十余年軟件開發從業經驗,瘋狂軟件教育中心教學總監。瘋狂Java實訓營創始人,瘋狂Java體系原創圖書作者。廣東技術師范學院計算機科學系兼職副教授,51CTO專家門診特邀嘉賓。培訓的學生已在華為、IBM、阿里軟件、網易、電信盈科等名企就職。國內知名高端IT技術圖書作家,已出版《瘋狂Java講義》《瘋狂Android講義》《輕量級JavaEE企業應用實戰》《瘋狂iOS講義(基礎篇)(提高篇)》《瘋狂前端開發講義》《瘋狂HTML5/CSS3/JavaScript講義》《瘋狂XML講義》《經典JavaEE企業應用實戰》《Struts2。x專業指南》等著作。其中瘋狂Java體系圖書均已沉淀多年,贏得極高的市場認同,多次重印,多部著作印刷數量超過10萬冊,并被多所“985”“211”院校選作教材,部分圖書已被翻譯成繁體中文版,授權到中國臺灣地區。
如果對這本書感興趣,可以私信回復“瘋狂H5講義”領取。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。