持續更新中...
面試傳送門:
如果要面試前端的話,HTTP不作為重要的考點,所以大致看下就OK了
001.網路七層模型
002.三次握手,四次揮手
003.從輸入一個網址到看到一張網頁,經歷了什麼?
004.HTTP的請求與響應
- 請求:
- 請求行,GET/HTTP/1.1
- 請求頭,非常多
- 請求正文,扔給伺服器的資料
- 響應:
- 響應行,HTTP/1.1 200 OK
- 響應頭,非常多
- 響應正文,伺服器扔給客戶端的資料
005.HTTP狀態碼
- 1xx
- 101(雙向通訊)
- 2xx
- 200(成功)
- 204(沒有響應體)
- 206(斷點續傳)
- 3xx
- 301(永久重定向)
- 302(臨時重定向)
- 304(快取)
- 4xx
- 401(沒有許可權)
- 403(登陸了沒有許可權)
- 404(找不到對應的資源)
- 405(請求方法不存在,不支援)
- 5xx
- 502(負載均衡)
006.HTTP中的請求方法(8種)
007.HTTP優化策略(部落格)
壓縮和快取
HTTP前端效能優化(壓縮與快取)
008.HTTP中的頭(重點)
- 請求頭:
accept-encoding
告訴伺服器,我接收的資料支援壓縮格式if-modified-since
對比快取 修改時間if-none-match
摘要快取 和Etag
配對使用的user-agent
不同裝置自動帶上這個頭 判斷什麼樣的裝置,重定向到不同專案
- 響應頭:
Content-Type
告訴瀏覽器 我給你的內容的型別Content-Encodin
g 告訴瀏覽器 我給你的內容的壓縮格式Cache-Control
強制快取 告訴瀏覽器,你多長時間之間,不要來訪問我Expires
強緩 告訴瀏覽器,你多長時間之間,不要來訪問我Last-Modified
對比快取 和if-modified-since
配對使用Etag
根據摘要做快取 和if-none-match
配對使用Lotaion
重定向到 某個地方
009.HTTP中的代理
010.http和https有什麼不同?
- https:是以安全為目標的HTTP通道,簡單講是HTTP的安全版本,通過SSL加密
- http:超文字傳輸協議。是一個客服端和伺服器端請求和應答的標準(tcp),使瀏覽器更加高效,使網路傳輸減少
011.localStorage, sessionStorage, cookie, session有什麼區別?
- localStorage 不能跨域存取 最大存5M 超過5M的資料就會丟失 在傳送請求時,不會帶上localStorage
- sessionStorage 當瀏覽器關閉時,裡面的資料就丟失
- cookie 伺服器種植的,每次請求都會帶上cookie,不安全,解決無狀態問題,最多4K,浪費流量
- session 基於cookie 儲存在伺服器(記憶體,入庫) 相對安全
前後端分離(前端調後端api介面)開發的:cookie,主流:session 或 JWT
理解cookie、session、localStorage、sessionStorage的關係與區別
012.從輸入一個網址到瀏覽器顯示頁面的全過程?
1.DNS解析,找到IP地址
2.根據IP地址,找到對應的伺服器
3.建立TCP連線(裡面有個 三次握手)
4.連線建立後,發出HTTP請求
5.伺服器根據請求作出HTTP響應
6.瀏覽器得到響應內容,進行解析與渲染,並顯示
7.斷開連線(四次揮手)
013.簡單說一下三次握手與四次揮手,為什麼一個三次,一個四次?
014.說一下web快取?
1.web快取就是存在於客戶端與伺服器之間的一個副本、當你第一個發出請求後,快取根據請求儲存輸出內容的副本
2.快取的好處
(1)減少不必要的請求
(2)降低伺服器的壓力,減少伺服器的消耗
(3)降低網路延遲,加快頁面開啟速度(直接讀取瀏覽器的資料)
015.常見的web安全及防護原理?
- sql注入原理:是將sql程式碼偽裝到輸入引數中,傳遞到伺服器解析並執行的一種攻擊手法。
- XSS(跨站指令碼攻擊):往web頁面插入惡意的html標籤或者js程式碼。
- CSRF(跨站請求偽裝):通過偽裝來自受信任使用者的請求