当前位置: 首页 > news >正文

个人网站搭建软件/营销推广策略

个人网站搭建软件,营销推广策略,企业网站怎么做,wordpress忘记密码怎么办HTTP 基本认证(Basic Authentication)是在RFC7617 - IETF中定义的一种认证方式,它使用以Base64编码的用户ID/密码对作为用户的身份凭证。由于HTTP Basic认证是以明文的形式传输用户ID以及密码(Base64是一种可逆的编码方式&#xf…

HTTP 基本认证(Basic Authentication)是在RFC7617 - IETF中定义的一种认证方式,它使用以Base64编码的用户ID/密码对作为用户的身份凭证。由于HTTP Basic认证是以明文的形式传输用户ID以及密码(Base64是一种可逆的编码方式),在未搭配HTTPS的情况下使用是不安全的。

HTTP Basic认证主要通过HTTP的WWW-Authenticate响应头部以及Authorization请求头部进行实现,其流程大致为:

  • 客户端在未提供用户身份凭证的情况下请求受限资源;
  • 服务端接受请求,返回带有WWW-Authenticate响应头部的401 Unauthorized响应;
  • 客户端获得用户ID以及密码,编码后发出带有Authorization请求头部的请求;
  • 服务端根据请求提供的身份凭证返回请求的资源或是返回错误。

WWW-Authenticate响应头部

WWW-Authenticate响应头部用于告知客户端使用何种验证方式,它通常与401响应(Unauthorized)一起返回。WWW-Authenticate的格式如下:

WWW-Authenticate: <type> [realm=<realm>] [charset=<charset>]

WWW-Authenticate可设置的指令为:

  • type:验证的类型,常见的值有BasicBearerOAuth等,更多的值可参考HTTP Authentication Schemes - IANA。在本文中将使用Basic值。
  • realm:保护区的描述,在未指定的情况下客户端默认显示为格式化的主机名。当使用Basic认证时,realm为必须的指令。
  • charset:告知客户端用户名和密码首选的编码方式,唯一允许的值为不区分大小写的UTF-8

以下为使用Basic认证时服务器返回的响应头示例:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Protect Space" charset="UTF-8"

Authorization请求头部

Authorization用于设置含有服务器验证用户所需的身份凭证,它通常在服务器返回带有WWW-Authenticate响应头部的401 Unauthorized响应之后的请求中发送。

Authorization: <type> <credentials>

Authorization可设置的指令为:

  • type:即上文中提到的验证类型,Authorization头部中设置的值将与WWW-Authenticate返回的类型保持一致,在本文中即为Basic
  • credentials:用户的身份凭证。

其中,使用Basic认证时,身份凭证为一个使用:连接的用户名及密码,并使用Base64进行编码。

下面是以JavaScript实现的请求示例:

const username = 'user';
const password = 'pass';
const credentials = btoa(username + ':' + password);
console.log(credentials);
// dXNlcjpwYXNzfetch(url, {headers: {Authorization: `Basic ${credentials}`}
});

发出的请求头部示例如:

GET / HTTP/1.1
Authorization: Basic dXNlcjpwYXNz

一个简单的验证交互示例

ClientServerGET / HTTP/1.1HTTP/1.1 401 UnauthorizedWWW-Authenticate: Basic realm="Protect Space"GET / HTTP/1.1Authorization: Basic dXNlcjpwYXNzHTTP/1.1 200 OKClientServer

首先,客户端对服务器的资源/发起GET请求:

GET / HTTP/1.1

服务器接收到请求后,返回状态为401的响应,并通过WWW-Authenticate响应头部告知客户端使用Basic认证:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Protected space"

客户端得到响应后,通过用户输入或其它方式获取用户名及密码,并以上文中提到的方式编码获得身份凭证,通过Authorization请求头部发送至服务端。

GET / HTTP/1.1
Authorization: Basic dXNlcjpwYXNz

在服务端接收到带有身份凭证的请求后,会根据用户的身份凭证返回资源或错误。如当身份凭证验证通过时返回200相应:

HTTP/1.1 200 OK

或是当身份凭证验证失败时返回403响应。

HTTP/1.1 403 Forbidden

参考资料

  • RFC7617 - IETF
  • HTTP Authentication Schemes - IANA
  • Authentication - MDN
http://www.jmfq.cn/news/5234527.html

相关文章:

  • 网站内容图片怎么做/电商软文范例300字
  • 网站建设周期计划/网站seo资讯
  • 技术支持网站/怎么做网站广告
  • 企业咨询管理公司起名/来客seo
  • 网站建设 数据上传 查询/网络营销案例ppt课件
  • 制作网站建设的公司/4p 4c 4r营销理论区别
  • 遵义门户网站/怎么根据视频链接找到网址
  • 网站如何做脚注/网络推广的目标
  • 可以做网站的服务器/网络推广方法的分类
  • 如何查看网站做没做301跳转/如何用模板做网站
  • 好的建设网站/域名被墙查询检测
  • wordpress 图片 不显示缩略图/天津搜索引擎优化
  • 做视频的音乐哪里下载网站/网站seo策划
  • 做民宿推广都有哪些网站/手机优化大师
  • 企业网站建设设计公司/谷歌浏览器下载手机版
  • 网站建设软件培训学校/如何优化网页加载速度
  • 网站兼容ie代码/宁德市蕉城区疫情
  • 智能开关网站开发具体流程/百度seo关键词排名价格
  • 做网站个体户经营范围/武汉网络推广广告公司
  • 网站建设 知乎/湘潭高新区最新新闻
  • 中国建设银行国际互联网站/网站优化公司排名
  • 浏阳网站定制/百度网
  • 东营的网站建设公司/免费打广告网站
  • 用dw怎么做网站后台/潍坊网站建设优化
  • 在网站添加邮箱/seo关键词优化推广外包
  • 专业网站建设哪里有/建站之星
  • 网站建设 java/做什么推广最赚钱
  • 假如做网站推广如何推广/网站注册地址
  • 郑州网站建设咨询/百度怎么优化关键词排名
  • 媒体发稿网站开发/搜索引擎优化的实验结果分析