請問 HTTP 有幾種請求方式及其各自的用途是什麼
常用的有八種請求方式
-
GET 請求
GET 方法請求一個指定資源
-
POST 請求
POST 方法用於將實體提交到指定的資源
-
PUT 請求
替換某些資源
-
DELETE 請求
刪除指定的資源
-
HEAD 請求
HEAD 方法請求一個與 GET 請求的響應相同的響應,但沒有響應體
-
OPTIONS 請求
允許客戶端查看服務器的相關參數
-
TRACE 請求
跟蹤請求
-
CONNECT 請求
預留給能夠將連接改爲管道方式的代理服務器
請問從瀏覽器輸入 URL 到頁面顯示發生了什麼
-
在瀏覽器地址欄輸⼊ URL
-
瀏覽器會先去緩存中尋找資源,如果在緩存中已經存在並且尚未過期,那麼就直接利用。否則跟目標主機建立連接
-
瀏覽器解析 URL 組裝成爲 HTTP 請求報文
-
利用 socket 與目標 IP 建立 TCP 連接,俗稱“三次握手”
-
TCP 鏈接建⽴後開始發送 HTTP 請求
-
服務器接受請求並將響應的數據組裝成爲響應報⽂通過 TCP 連接發送回瀏覽器
-
瀏覽器接收響應,關閉 TCP 連接,俗稱“四次握手”
-
瀏覽器根據響應資源的類型採用相對應的處理(假設資源爲 HTML ⽂檔)
-
解析 HTML ⽂檔,構件 DOM 樹,構造 CSSOM 樹,下載相關資源,執⾏ js 腳本
-
HTML 解析過程中會逐步顯示⻚⾯
談談你對網站性能優化的處理
-
合併文件,減少 HTTP 請求
-
儘量減少 DOM 操作
-
服務端可以使用網絡分發
-
將 js 文件放置在頁面底部
-
進行圖片壓縮
-
減小 cookie 大小
-
將樣式表放到頁面頂部
請問 HTTP 狀態碼及其含義
-
1xx 這一類狀態碼錶示 請求已被接受,需要繼續處理
-
2xx 這一類狀態碼錶示 請求已成功 被服務器接收
-
3xx 這一類狀態碼錶示 重定向
-
4xx 這一類狀態碼錶示 客戶端錯誤
-
5xx 這一類狀態碼錶示 服務端錯誤
談談你對前端瀏覽器存儲的理解
-
localStorage 大概能夠存儲 5M 左右的數據,只要不手動刪除數據會永久存儲
-
sessionStorage 大概能夠存儲 5M 左右的數據,只瀏覽器關閉就清空
-
cookie 最大能夠存儲 4KB, 作爲請求頭的一部分
-
indexedDB 這是瀏覽器提供的本地數據庫, 沒有存儲大小限制
請問 xhtml 和 html 的區別
xhtml 指的是 可擴展超文本標記語言,html 指的是 超文本標記語言, xhtml 相比於 html 在語法上面更加嚴格,html 標籤不區分大小寫 xhtml 所有標籤都必須小寫,在 xhtml 只要網頁中出現一處錯誤,則瀏覽器停止解析,而 html 語言不會出現這種情況
談談漸進增強和優雅降級
漸進增強 指的是先針對低版本瀏覽器進行頁面構建,先保證基本的用戶需求,然後再針對高級瀏覽器進行功能追加,以達到更好的用戶體驗。
優雅降級 指的是一開始就構建完整的功能,然後再針對部分瀏覽器做兼容處理
DOCTYPE 有何作用
DOCTYPE 告知瀏覽器的解析器, ⽤什麼⽂檔類型規範來解析這個⽂檔
請解釋 重繪、重排(迴流) 再談一談處理方案
重繪 指的是當頁面元素樣式改變不影響頁面佈局,不影響元素位置。
重排 頁面佈局發生了改變,需要重新渲染 DOM 。
處理方案主要從減少 DOM 操作入手,比如可以採用文檔片段 fragment
如果需要⼿動寫動畫,你認爲最⼩時間間隔是多久,爲什麼?(阿⾥)
多數顯示器默認頻率是 60Hz ,即 1 秒刷新 60 次,所以理論上最⼩間隔爲
1/60*1000ms = 16.7ms
對於自適應佈局,你有何高見
- 採用 rem 和 em 進行寬度設置
- 採用百分比,儘量不要固定像素
- 採用彈性佈局
- 編寫多套樣式代碼
- 媒體查詢
rgba()和 opacity 的透明效果有什麼不同
opacity 作⽤於元素,以及元素內的所有內容的透明度。⽽ rgba() 只作⽤於元素的顏⾊或其背景⾊,不會將內容也變透明。