HTTP協議之基本認證

來源:互聯網
上載者:User

標籤:摘要認證   ica   https   oauth   目錄   cto   rest   冒號   包含   

http協議是無狀態的, 瀏覽器和web伺服器之間可以通過cookie來身份識別。 傳統型應用程式(比如新浪案頭用戶端, skydrive用戶端)跟Web伺服器之間是如何身份識別呢?

  閱讀目錄

  1. 什麼是HTTP基本認證
  2. HTTP基本認證的過程
  3. HTTP基本認證的優點
  4. 每次都要進行認證
  5. HTTP基本認證和HTTPS一起使用就很安全
  6. HTTP OAuth認證
  7. 其他認證
  8. 用戶端的使用
  什麼是HTTP基本認證

  傳統型應用程式也通過HTTP協議跟Web伺服器互動, 傳統型應用程式一般不會使用cookie, 而是把 "使用者名稱+冒號+密碼"用BASE64演算法加密後的字串放在http request 中的header Authorization中發送給服務端, 這種方式叫HTTP基本認證(Basic Authentication)

  當瀏覽器訪問使用基本認證的網站的時候, 瀏覽器會提示你輸入使用者名稱和密碼,如

  假如使用者名稱密碼錯誤的話, 伺服器會返回401 如

  HTTP基本認證的過程

  第一步:  用戶端發送http request 給伺服器, 

  第二步:  因為request中沒有包含Authorization header,  伺服器會返回一個401 Unauthozied給用戶端,並且在Response的 header "WWW-Authenticate" 中添加資訊。

  第三步:用戶端把使用者名稱和密碼用BASE64加密後,放在Authorization header中發送給伺服器, 認證成功。

  第四步:伺服器將Authorization header中的使用者名稱密碼取出,進行驗證, 如果驗證通過,將根據請求,發送資源給用戶端

  使用Fiddler Inspectors 下的Auth 選項卡,可以很方便的看到使用者名稱和密碼:

  HTTP基本認證的優點

  HTTP基本認證,簡單明了。Rest API 就是經常使用基本認證的。

  每次都要進行認證

  http協議是無狀態的, 同一個用戶端對 伺服器的每個請求都要求認證。

  HTTP基本認證和HTTPS

  把 "使用者名稱+冒號+密碼" 用BASE64加密後的string雖然用肉眼看不出來, 但用程式很容易解密,可以看到Fiddler就直接給解密了。 所以這樣的http request在網路上,如果用HTTP傳輸是很不安全的。 一般都是會用HTTPS傳輸,HTTPS是加密的,,所以比較安全。

  HTTP OAuth認證  OAuth對於Http來說,就是放在Authorization header中的不是使用者名稱密碼, 而是一個token。  微軟的Skydrive 就是使用這樣的方式, 如: 

  其他認證  除了基本認證(Basic Authentication), 還有摘要認證digest authentication, WSSE(WS-Security)認證  用戶端的使用  用戶端如果要跟“使用基本認證的網站”互動。 非常很簡單,把使用者名稱密碼加在Authorization header中就可以了。

HTTP協議之基本認證

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.