持續更新中...html
面試傳送門:前端
001.網絡七層模型
網絡七層模型(四層模型)及其區別webpack
002.三次握手,四次揮手
TCP 三次握手 與 四次揮手web
003.從輸入一個網址到看到一張網頁,經歷了什麼?
從輸入一個網址到瀏覽器顯示頁面的全過程詳細分析面試
004.HTTP的請求與響應
- 請求:
- 請求行,GET/HTTP/1.1
- 請求頭,很是多
- 請求正文,扔給服務器的數據
- 響應:
- 響應行,HTTP/1.1 200 OK
- 響應頭,很是多
- 響應正文,服務器扔給客戶端的數據
005.HTTP狀態碼
- 1xx
- 2xx
- 200(成功)
- 204(沒有響應體)
- 206(斷點續傳)
- 3xx
- 301(永久重定向)
- 302(臨時重定向)
- 304(緩存)
- 4xx
- 401(沒有權限)
- 403(登錄了沒有權限)
- 404(找不到對應的資源)
- 405(請求方法不存在,不支持)
- 5xx
006.HTTP中的請求方法(8種)
HTTP協議簡介sql
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 或 JWTapi
理解cookie、session、localStorage、sessionStorage的關係與區別跨域
012.從輸入一個網址到瀏覽器顯示頁面的全過程?
1.DNS解析,找到IP地址
2.根據IP地址,找到對應的服務器
3.創建TCP鏈接(裏面有個 三次握手)
4.鏈接創建後,發出HTTP請求
5.服務器根據請求做出HTTP響應
6.瀏覽器獲得響應內容,進行解析與渲染,並顯示
7.斷開鏈接(四次揮手)瀏覽器
從輸入一個網址到瀏覽器顯示頁面的全過程詳細分析
013.簡單說一下三次握手與四次揮手,爲何一個三次,一個四次?
TCP 三次握手 與 四次揮手
014.說一下web緩存?
1.web緩存就是存在於客戶端與服務器之間的一個副本、當你第一個發出請求後,緩存根據請求保存輸出內容的副本
2.緩存的好處
(1)減小沒必要要的請求
(2)下降服務器的壓力,減小服務器的消耗
(3)下降網絡延遲,加快頁面打開速度(直接讀取瀏覽器的數據)
015.常見的web安全及防禦原理?
- sql注入原理:是將sql代碼假裝到輸入參數中,傳遞到服務器解析並執行的一種攻擊手法。
- XSS(跨站腳本攻擊):往web頁面插入惡意的html標籤或者js代碼。
- CSRF(跨站請求假裝):經過假裝來自受信任用戶的請求