面試錦囊 | HTTP 面試門路
阿新 • • 發佈:2020-07-17
前言
本文已經收錄到我的
Github
個人部落格,歡迎大佬們光臨寒舍:
學習清單:
零、前置知識
冪等的概念是指同一個請求方法執行多次和僅執行一次的效果完全相同
一、PUT 和 POST 都是給伺服器傳送新增資源,有什麼區別?
PUT
和POST
方法的區別是,PUT
方法是冪等的,POST
反之PUT
的URI
指向是具體單一資源,而POST
可以指向資源集合
例子:
舉個例子,我們在開發一個部落格系統,當我們要建立一篇文章的時候往往用
POST https://www.jianshu.com/articles
,這個請求的語義是,在articles
的資源集合下建立一篇新的文章,如果我們多次提交這個請求會建立多個文章,這是非冪等的。而
PUT https://www.jianshu.com/articles/820357430
的語義是更新對應文章下的資源(比如修改作者名稱等),這個URI
指向的就是單一資源,而且是冪等的,比如你把『劉德華』修改成『蔡徐坤』,提交多少次都是修改成『蔡徐坤』
二、PUT 和 PATCH 都是給伺服器傳送修改資源,有什麼區別?
PUT
和PATCH
都是更新資源,而PATCH
用來對已知資源進行區域性更新
三、重定向307,303,302的區別?
302是 http1.0
的協議狀態碼,在 http1.1
版本的時候為了細化302狀態碼又出來了兩個303和307。
303明確表示客戶端應當採用 get
方法獲取資源,他會把 POST
請求變為 GET
請求進行重定向。 307會遵照瀏覽器標準,不會從 post
變為 get
。
四、瞭解過快取機制嗎?對比下強快取和協商快取可以嗎?
如果文章對您有一點幫助的話,希望您能點一下贊,您的點贊,是我前進的動力
本文參考連結:
本文使用 mdnice 排版