1. 程式人生 > 實用技巧 >HTTP(Basic Authentication)基本認證機制

HTTP(Basic Authentication)基本認證機制

參考:https://zhuanlan.zhihu.com/p/64584734

  1. 客戶端(例如Web瀏覽器):伺服器,請把/family/son.jpg 圖片傳給我。
    GET /family/son.jpg HTTP/1.1
  2. 伺服器:客戶端你好,這個資源在安全區family裡,是受限資源,需要基本認證,請帶上你的使用者名稱和密碼再來 HTTP/1.1 401 Authorization Required www-Authenticate: Basic realm= "family" 伺服器會返回401,告知客戶端這個資源需要使用基本認證的方式訪問,我們可以看到在 www-Authenticate
    這個Header裡面 有兩個值,Basic:說明需要基本認證,realm:說明客戶端需要輸入這個安全區的使用者名稱和密碼,而不是其他區的。因為伺服器可以為不同的安全區設定不同的使用者名稱和密碼。如果伺服器只有一個安全區,那麼所有的基本認證使用者名稱和密碼都是一樣的。
  3. 客戶端: 伺服器,我已經按照你的要求,攜帶了相應的使用者名稱和密碼資訊了,你看一下
    如果客戶端是瀏覽器,那麼此時就會彈出一個彈窗,讓使用者輸入使用者名稱和密碼。
    Basic 內容為: 使用者名稱:密碼 後的base64 內容.假設我的使用者名稱為Shusheng007,密碼為ss007 那麼我的Basic的內容為 Shusheng007:ss007
    對應的base64 編碼內容U2h1c2hlbmcwMDcldUZGMUFzczAwNw==,如下所示 GET /family/son.jpg HTTP/1.1 Authorization: Basic U2h1c2hlbmcwMDcldUZGMUFzczAwNw==
  4. 伺服器:客戶端你好,我已經校驗了你的使用者名稱和密碼,是正確的,這是你要的資源。 HTTP/1.1 200 OK Content-type: image/jpg ...