1. 程式人生 > 實用技巧 >面試錦囊 | HTTP 面試門路

面試錦囊 | HTTP 面試門路

前言

本文已經收錄到我的 Github 個人部落格,歡迎大佬們光臨寒舍:

我的 Github 部落格

學習清單:

零、前置知識

冪等的概念是指同一個請求方法執行多次和僅執行一次的效果完全相同

一、PUT 和 POST 都是給伺服器傳送新增資源,有什麼區別?

  • PUTPOST 方法的區別是,PUT 方法是冪等的,POST 反之
  • PUTURI 指向是具體單一資源,而 POST 可以指向資源集合

例子:

舉個例子,我們在開發一個部落格系統,當我們要建立一篇文章的時候往往用POST https://www.jianshu.com/articles,這個請求的語義是,在 articles資源集合

下建立一篇新的文章,如果我們多次提交這個請求會建立多個文章,這是非冪等的。

PUT https://www.jianshu.com/articles/820357430的語義是更新對應文章下的資源(比如修改作者名稱等),這個 URI 指向的就是單一資源,而且是冪等的,比如你把『劉德華』修改成『蔡徐坤』,提交多少次都是修改成『蔡徐坤』

二、PUT 和 PATCH 都是給伺服器傳送修改資源,有什麼區別?

  • PUTPATCH 都是更新資源,而 PATCH 用來對已知資源進行區域性更新

三、重定向307,303,302的區別?

302是 http1.0 的協議狀態碼,在 http1.1 版本的時候為了細化302狀態碼又出來了兩個303和307。

303明確表示客戶端應當採用 get 方法獲取資源,他會把 POST 請求變為 GET 請求進行重定向。 307會遵照瀏覽器標準,不會從 post 變為 get

四、瞭解過快取機制嗎?對比下強快取和協商快取可以嗎?


如果文章對您有一點幫助的話,希望您能點一下贊,您的點贊,是我前進的動力

本文參考連結:

本文使用 mdnice 排版