01、HTTP 常⻅的狀態碼有哪些? 1xx 伺服器收到請求 2xx 請求成功 200 成功狀態碼 3xx 重定向 301永久重定向,瀏覽器下次⾃動取重定向的地址 302臨時重定向,瀏覽器下次還會請求原地址 304 資源未被修改 4xx 客戶端錯誤 403 沒有許可權 404 資源未找到 5xx 服務 ...
01、HTTP 常⻅的狀態碼有哪些?
1xx 伺服器收到請求
2xx 請求成功 --- 200 成功狀態碼
3xx 重定向 --- 301永久重定向,瀏覽器下次⾃動取重定向的地址 --- 302臨時重定向,瀏覽器下次還會請求原地址 --- 304 資源未被修改
4xx 客戶端錯誤 --- 403 沒有許可權 --- 404 資源未找到
5xx 伺服器錯誤 --- 500 伺服器錯誤 --- 網關超時
02、HTTP 常⻅的 header 有哪些?
常⻅的 Request Header
Accept 瀏覽器可接收的數據格式
Accept-Encoding 瀏覽器可接收的壓縮演算法,gzip
Connection:Keep-alive ⼀次TCP連接重覆使⽤
UserAgent 瀏覽器信息
Content-type: application/json
常⻅的 Response Header
Content-type: application/json
Content-length 返回數據⼤⼩,多少位元組
Content-Encoding 返回數據的壓縮演算法 gzip
緩存相關 Header
Cache-Control(新)代替 Expires(⽼) 控制緩存
Last-Modified If-Modified-Since
Etag If-None-Match
03、什麼是 Restful API?
常⻅method
get 獲取數據
post 發送數據
patch/put 更新數據
delete 刪除數據
【傳統API】
把每個URL當做⼀個功能
【Restful API】
把每個URL當做⼀個唯⼀的資源,⽤method表示操作類型
有操作類型,有資源標識,這個API的⽬的就⼀⽬瞭然了
04、描述從輸⼊URL到渲染出⻚⾯的整個過程
請求過程:
DNS:功能變數名稱 -> IP
瀏覽器向伺服器發起http請求(3次握⼿)
伺服器處理HTTP請求,並返回給瀏覽器
渲染過程:
根據HTML⽣成DOM Tree
根據CSS⽣成CSSOM
DOM Tree+CSSOM形成Render Tree
瀏覽器根據 Render Tree 渲染⻚⾯
遇到 js 暫停渲染,優先載入並執⾏js,完成再繼續渲染 Render Tree
為什麼要把 CSS 的 <link /> 標簽放在 <head> 中?
優先渲染將樣式表放在文檔底部附近,會使許多瀏覽器(包括Internet Explorer)不能逐步呈現頁面
為什麼把 JS 代碼放在body下⾯?
提高用戶體驗,js放在head裡面,會堵塞DOM的生成。使用就無法獲取通過選擇器獲取DOM元素進行操作
除了特殊處理的代碼
05、window.onload與DOMContentLoaded有什麼區別?
window.onload ⻚⾯的全部資源載入完才會執⾏,包括圖⽚、視頻等
DOMContentLoaded DOM渲染完就執⾏,圖⽚、視頻可能還沒載入完
06、如何預防xss攻擊?/ 前端常⻅的攻擊⽅式有哪些?
場景:
博客或其他需要⽤戶輸⼊內容
預防:
替換特殊字元 < 變成 & l t ; > 變成 & g t ;
前後端都要替換特殊字元
推書:《⽩帽⼦講web安全》 吳翰清
07、如何預防xsrf攻擊?
場景:
電⼦郵件中包含
<img src="xxx.com/bug?id=100" >
預防:
使⽤post接⼝
增加驗證,指紋、⽀付密碼、⼈臉...
08、let、const、var有什麼區別?
let const 塊作⽤域,var 沒有
let 變數
const 常量,定義後不能修改
個人博客地址:http://blog.qianbaiyv.cn/get/my/blog/details/2311887075%40qq.com/123