摘要:背景狀態碼有哪些,這也是一個很高頻的面試問題。總結僅僅三個狀態碼,都可以牽涉到如此豐富的知識,對于狀態碼,我們不能只是片面的去背誦狀態碼及對應的含義,要去主動挖掘,深入,借助狀態碼來建立自己的網絡體系。
背景
http狀態碼有哪些,這也是一個很高頻的面試問題。
一般大家都知道404頁面不存在,500服務器錯誤,301重定向,302臨時重定向,200ok,401未授權啥的。
如果只是簡單的這樣答,可能只能讓面試官給你的答案打個五六十分,不足以給面試官留下良好的印象,為了展現自己良好的http知識,你或許可以重點介紹三個狀態碼及相關的知識,他們分別是304協商緩存,101協議升級,以及307hsts跳轉。
304協商緩存先從304協商緩存開始吧。這是比較基礎的知識。相信我,只要你提起304協商緩存,面試官一定會忍不住問你,什么是協商緩存?
這時就到了你展示一下自己豐富的瀏覽器緩存知識的時候了。我一般會這么答:瀏覽器緩存分為強制緩存和協商緩存,優先讀取強制緩存。
強制緩存分為expires和cache-control,而expires是一個特定的時間,是比較舊的標準和cache-control通常是一個具體的時間長度,比較新,優先級也比較高。
而協商緩存包括etag和last-modified,last-modified的設置標準是資源的上次修改時間,而etag是為了應對資源修改時間可能很頻繁的情況出現的,是基于資源的內容計算出來的值,因此優先級也較高。
協商緩存與強制緩存的區別在于強制緩存不需要訪問服務器,返回結果是200,協商緩存需要訪問服務器,如果命中緩存的話,返回結果是304。
101協議升級主要用于websocket,也可以用于http2的升級。
websocket的特點和功效不細說,大家都很熟了。
http2好處多多,一般說出支持單個連接多次請求,二進制,壓縮頭部,服務器推送等特征面試官就比較滿足了。具體了解也是自行谷歌百度,這里也是不細說。
當然這時候我們可能要應對一下面試官接下來的追問:到底https,http,http2以及它的原形spdy有什么區別,又分別有什么優點和不足,他們的建立連接分別又有著什么環節,這些知識就需要讀者自己去充分搜索查詢了。
307 hsts跳轉這個比較高端,原本的用法是用于讓post請求的跳轉去新的post請求,但也用于hsts跳轉。
hsts全稱HTTP嚴格傳輸安全(HTTP Strict Transport Security,縮寫:HSTS),功能是要求瀏覽器下次訪問該站點時使用https來訪問,而不再需要先是http再轉https。這樣可以避免ssl剝離攻擊,即攻擊者在用戶使用http訪問的過程中進行攻擊,對服務器冒充自己是用戶,在攻擊者和服務器中使用https訪問,在用戶和服務器中使用http訪問。
具體使用方法是在服務器響應頭中添加 Strict-Transport-Security,可以設置 max-age
當然,提到了ssl剝離攻擊,你一定很感興趣還有什么方法可以對號稱安全的https進行攻擊呢?我這里了解到的有ssl劫持攻擊,大概就是信任第三方的安全證書,這點被利用于代理軟件監聽https。如果還有更多的,歡迎補充。
總結僅僅三個狀態碼,都可以牽涉到如此豐富的知識,對于狀態碼,我們不能只是片面的去背誦狀態碼及對應的含義,要去主動挖掘,深入,借助http狀態碼來建立自己的網絡體系。
留一個課后作業:301和302有什么區別?分別適用于什么場景?你還會只去記一個是永久重定向,一個是臨時重定向嗎?
本文章為前端進階系列的一部分,
歡迎關注和star本博客或是關注我的github
知道你們很懶,幫你們搜索好了相關資料
[淺談瀏覽器http的緩存機制
](http://www.cnblogs.com/vajoy/...
http2講解
HTTP,HTTP2.0,SPDY,HTTPS你應該知道的一些事
你所不知道的 HSTS
關于啟用 HTTPS 的一些經驗分享(一)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/107673.html
摘要:不過幸運的是所有面試的公司都給了,在這里總結下經驗吧。這里推薦下我當時看的一篇的面經,木易楊老師寫的大廠高級前端面試題匯總。 前言 本人畢業一年,最近陸續面試了頭條、瓜子、360、猿輔導、中信銀行、老虎等公司,由于最近比較寒冬而且招1-3年的并不多,再加上自己對公司規模和位置有一定要求,所以最后合適的也就這幾家了。不過幸運的是所有面試的公司都給了offer,在這里總結下經驗吧。掘金:h...
摘要:如問到是否使用某框架,實際是是問該框架的使用場景,有什么特點,和同類可框架對比一系列的問題。這兩個方向的區分點在于工作方向的側重點不同。 [TOC] 這是一份來自嗶哩嗶哩的Java面試Java面試 32個核心必考點完全解析(完) 課程預習 1.1 課程內容分為三個模塊 基礎模塊: 技術崗位與面試 計算機基礎 JVM原理 多線程 設計模式 數據結構與算法 應用模塊: 常用工具集 ...
摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發和面試問題,由基礎到困難循序漸進,適合面試和開發小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發和面試問題,由基礎到困難循序漸進,適合面試和開發小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
閱讀 2955·2021-11-24 09:39
閱讀 2863·2021-09-29 09:34
閱讀 3558·2021-09-24 10:23
閱讀 1744·2021-09-22 15:41
閱讀 1697·2019-08-30 15:55
閱讀 3512·2019-08-30 13:58
閱讀 2621·2019-08-30 13:11
閱讀 1667·2019-08-29 12:31