面试视频知识点整理1-7(http协议)
http協議類
1)http協議的主要特點
簡單快速 統一資源符
靈活 通過http協議,可以修改http頭,完成不同數據類型的傳輸
無連接 連接一次就會斷掉不會保持連接
無狀態 客戶端與服務器連接一次斷了之后再次連接,服務器并不知道客戶端是誰
2)http報文的組成部分
1、請求報文
請求行 (請求方式,http/http版本)
請求頭
空行
請求體
2、響應報文
狀態行
響應頭
空行
響應體
3)http的方法
GET -> 獲取資源
POST -> 傳輸資源
PUT -> 更新資源
DELETE -> 刪除資源
HEAD -> 獲取報文首部
4)post和get的區別
1、get參數在url里傳遞,post參數放在請求體里
2、get只支持url編碼,post支持多種編碼方式
3、get有長度限制,post沒有限制
4、get比post更加不安全,get參數會暴露在url里,不能用來傳遞敏感數據
5、get請求會被瀏覽器主動緩存,而post不會,除非手動設置
6、get請求的url地址可以被收藏,post不可以
7、get瀏覽器回退是無害的,而post會再次提交
8、get請求參數會保留在瀏覽器歷史記錄里,而post不會
5)http狀態碼
1xx、指示信息-表示請求已被接收,繼續處理
2xx、成功-表示請求已被成功接收(200:客戶端請求成功 206:客戶發送range頭的get請求,服務器完成了它)
3xx、重定向-要完成請求必須進行進一步的操作 (301:所有請求的頁面已經轉移至新的url,302:所請求的頁面已經臨時轉移到了新的url,304:客戶端有緩存的文檔發出一個條件性請求,服務器告訴用戶原來緩存的文檔還可以使用)
4xx、客戶端錯誤-請求有語法錯誤或請求無法實現(400:客戶端請求有語法錯誤,不能被服務器所理解,401:請求未被授權,403:請求的頁面的訪問被禁止,404:請求資源不存在)
5xx、服務器錯誤-服務器未能實現合法的請求(500:服務器發生不可預期的錯誤,503:請求未完成,服務器臨時過載或當機,一段時間后可恢復正常)
6)什么是持久化連接(1.1才支持Keep-Alive)
http協議采用“請求-應答”模式,當使用普通模式,及非keep-alive模式時,每個請求/應答客戶和服務器都要新建一個連接,完成以后會立即斷開(http協議為無連接的協議)
當使用Keep-Alive模式(又稱持久連接,連接重用)時,Keep-Alive功能是客戶端到服務器端的鏈接持續有效,當出現對服務器的后繼請求時,Keep-Alive功能避免了簡歷或者重新建立連接
7)什么是管線化
在使用持久化連接的情況下,某個消息的傳遞類似于這樣
請求1->響應1->請求2->響應2->請求2->響應2
管線化的消息傳遞類似于這樣(1、原理:打包一次返回 2、只有get和head請求支持,post有所限制 3、初次不要啟動管線機制,對方不一定支持)
請求1->請求2->請求3->響應1->響應2->響應3
總結
以上是生活随笔為你收集整理的面试视频知识点整理1-7(http协议)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql5.7 异常ERROR 105
- 下一篇: DAPP开发初探——永存的留言