(Translated by https://www.hiragana.jp/)
HTTP基本认证 - 维基百科,自由的百科全书 とべ转到内容ないよう

HTTP基本きほん认证

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん

ざいHTTPなか基本きほん认证えい语:Basic access authenticationまことhttpよう代理だいり(如:网页浏览ざい请求时,提供ていきょう よう户名 みつ てきいち种方しき

ざい进行基本きほん认证てき过程さと,请求てきHTTP头字だんかい包含ほうがんAuthorizationだん形式けいしき如下: Authorization: Basic <もたれ证>,该凭证是よう户和みつ码的组和てきbase64编码

最初さいしょ基本きほん认证てい义在HTTP 1.0规范(RFC 1945ちゅうきさき续的ゆう关安全的ぜんてき资讯以在HTTP 1.1规范(RFC 2616かずHTTP认证规范(RFC 2617ちゅう找到。于1999ねん RFC 2617 过期,于2015ねんてき RFC 7617 じゅうしんてい义。

ざいMDN网站,やめ经有对应てき维基文章ぶんしょう[1]

优点

[编辑]

HTTP基本きほん认证 一种十分简单的技术,使用しようてき HTTP头部だん 强制きょうせいよう户访问网络资げん,而不どおり必要ひつようてきcookieかい话ID、とう录页めんとう获取访问ひかえせいまと手段しゅだん

基本きほんじょう所有しょゆう流行りゅうこうてき网页浏览支持しじ基本きほん认证[2]基本きほん认证很少ざいおおやけ开访问的互联网网站うえ使用しようゆう时候かいざい小型こがた私有しゆうけい统中使用しよう(如みちよし网页管理かんりせっこう)。これきさき诞生てき HTTP摘要てきよう认证 よう于替だい基本きほん认证,まこと许密钥以しょう对安全的ぜんてき方式ほうしきざい不安ふあん全的ぜんてきどおり道上どうじょう传输。

ほどじょ员和けい管理かんり员有时会ざいしん网络环境ちゅう使用しよう基本きほん认证。よし于,基本きほん认证使用しようてきBase64,かい码成明文めいぶんいん使用しようTelnetとう网络协议工具こうぐ进行监视时,直接ちょくせつ获取内容ないよう,并用于诊だん

缺点けってん

[编辑]

基本きほん认证 并没ゆう为传送もたれ证(えい语:transmitted credentials提供ていきょうにんなんつくえみつせいてき护。仅仅使用しよう Base64 编码并传输,而没ゆう使用しようにんなに みつ ある れつ算法さんぽうよし此,基本きほん认证常常つねづね HTTPS いちおこり使用しよう,以提供ていきょうつくえみつせい

现存てき浏览保存ほぞん认证资讯ちょくいた标签页或浏览关闭,あるものよう户清じょ历史记录。[3]HTTPぼつゆう为伺ふく提供ていきょう一种方法指示客户端丢弃这些被缓存的密钥。这意味いみ伺服はしざいよう户不关闭浏览てきじょう况下,并没ゆう一种有效的方法来让用户退出。

どう时 HTTP 并没ゆう提供ていきょう退出たいしゅつつくえせいただしざいいち些浏览器じょう存在そんざいしんじょもたれ证(credentials )缓存てき方法ほうほう

原理げんり

[编辑]

文字もじ过程

[编辑]

这一个典がたてきHTTPきゃく户端HTTP伺服てき对话,伺服あんそうざいどういちだい电脑じょうlocalhost),包含ほうがん以下いか骤:

  1. きゃく户端请求一个需要身份认证的页面,ただしぼつゆう提供ていきょうよう名和なわひそか码。这通常つうじょうよう户在栏输いれいちURLある开了一个指向该页面的链接
  2. ふく务端响应いち个401应答码[4],并提供ていきょういち个认证域(えい语:Access Authentication[5],头部だん为:WWW-Authenticate,该字だん要求ようきゅうきゃく户端提供ていきょう适配てき资源。[6] WWW-Authenticate: Basic realm="Secure Area" 该例Basic 为验证的しきrealm="Secure Area"为保护域,よう于与其他请求URIさく别。
  3. せっいた应答きさききゃく户端显示该认证域给用户并提示ていじ输入よう名和なわひそか码。此时よう户可以选择确じょうある取消とりけし
  4. よう户输にゅうりょうよう名和なわひそか码后,きゃく户端软件はた对其进行处理,并在原ありはらさきてき请求じょう增加ぞうか认证消息しょうそく头(えい语:Authorizationしかきさきおもしん发送さいつぎ尝试。过程如下:
    1. しょうよう名和なわひそか码拼せっよう户:みつ形式けいしきてきくし
    2. 如果伺服WWW-Authenticateだんゆう指定してい编码,则将くし编译なり对应てき编码(如:UTF-8)。
    3. はたくし编码为base64。
    4. 拼接BasicいれAuthorization头字だん,就像这样:Authorization Basic くししめせれいよう户名:Aladdinみつ码:OpenSesame ,拼接きさきAladdin:OpenSesame,编码きさきQWxhZGRpbjpPcGVuU2VzYW1lざいHTTP头部さとかい这样:Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l。 Base64编码并非みつ算法さんぽう,其无ほう安全あんぜんあずか隐私,仅用于将よう名和なわひそか码中てきけんようてき转换为均あずかHTTP协议けんようてきしゅう
  5. ざいほんれいちゅう,伺服接受せつじゅりょう该认证屏まく并返かいりょう页面。如果よう户凭すえほうある无效,伺服可能かのうさいつぎかえしかい401应答码,きゃく户端以再提示ていじよう户输にゅうみつ码。

注意ちゅうい:きゃく户端ゆう可能かのう需要じゅようよう交互こうございだい一次请求中就发送认证消息头。

电文过程

[编辑]

1.きゃく户端请求(ぼつゆう认证资讯)

[编辑]
GET /private/index.html HTTP/1.0
Host: localhost

(跟随いち换行,以かい车(CR)换行(LF)てき形式けいしき

2.ふく务端应答

[编辑]
HTTP/1.0 401 Authorization Required
Server: HTTPd/1.0
Date: Sat, 27 Nov 2004 10:18:15 GMT
WWW-Authenticate: Basic realm="Secure Area"
Content-Type: text/html
Content-Length: 311

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
  <HEAD>
    <TITLE>Error</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
  </HEAD>
  <BODY><H1>401 Unauthorized.</H1></BODY>
</HTML>

3.きゃく户端请求(ゆう认证资讯)

[编辑]

よう户名“Aladdin”,みつ码 “open sesame”

GET /private/index.html HTTP/1.0
Host: localhost
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

(跟随いち空行くうぎょう如上じょじょうしょじゅつ

Authorization消息しょうそく头的よう名和なわひそか码的值可以容易ようい编码和解わかい码。

4.ふく务端てき应答

[编辑]
HTTP/1.0 200 OK
Server: HTTPd/1.0
Date: Sat, 27 Nov 2004 10:19:07 GMT
Content-Type: text/html
Content-Length: 10476

(跟随いち空行くうぎょうずいきさき需凭すえ页的HTMLぶんほん)。

参考さんこう文献ぶんけんちゅう

[编辑]
  1. ^ HTTP 份验证. MDN Web ぶん档. [2020-01-29]. (原始げんし内容ないようそん于2020-04-14) ちゅうぶん. 
  2. ^ 这里てき所有しょゆうてき流行りゅうこう网页浏览包括ほうかつにんなん目前もくぜん场份额超过0.2%てき网页浏览まいり网页浏览了解りょうかい网页浏览对HTTPてき支持しじ
  3. ^ そん副本ふくほん. [2010-07-10]. (原始げんし内容ないようそん于2010-05-26). 
  4. ^ RFC 1945 Section 11. Access Authentication. IETF: 46. May 1996 [3 February 2017]. (原始げんし内容ないようそん于2010-11-30). 
  5. ^ T., Fielding, Roy; Tim, Berners-Lee; Henrik, Frystyk. Hypertext Transfer Protocol -- HTTP/1.0. tools.ietf.org. [2020-01-28]. (原始げんし内容ないようそん于2020-01-25). 
  6. ^ Frystyk, Henrik. Hypertext Transfer Protocol -- HTTP/1.0. tools.ietf.org. [2020-01-28]. (原始げんし内容ないようそん于2020-04-15) えい语). 

まいり

[编辑]

外部がいぶ链接

[编辑]