访问http如何自动转换为https


一般情况下我们在浏览器中访问一个网站都是以http形式访问的。但是一些网站,比如购物网站由于需要支付,所以需要使用到更加安全的https的访问方式。
那么服务器是怎么让浏览器实现自动转换为访问https的呢?

例子

在浏览器输入http://www.taobao.com,并且按F12查看服务器给我们发来了什么消息
在这里插入图片描述
注意上面我用红色方框圈出的地方,后面我会讲到。

接着,我们直接访问https://www.taobao.com会怎么样呢?

在这里插入图片描述
仔细对比两张图的红色方框部分,可以看出,访问httphttps多了两个文件(响应头),其中第一个文件最重要,就是因为这个文件,告诉浏览器应该以https重新访问网站。
第一种图右边有两个方框,主要就是这两个信息Status Code: 307 Internal RedirectNon-Authoritative-Reason: HSTS,接下来就说下这两个信息是什么信息.


Status Code: 307 Internal Redirect

状态代码:307,交互重定向。其实也不一定是307,有些网站是302。
3xx状态码就是告诉客户端,请求的URI不存在,需要去访问另外一个URI。


HSTS

HSTS(HTTP Strict Transport Security)国际互联网工程组织IETF正在推行一种新的Web安全协议。
HSTS最为核心的是一个HTTP响应头(HTTP Response Header)。正是它可以让浏览器得知,在接下来的一段时间内,当前域名只能通过HTTPS进行访问,并且在浏览器发现当前连接不安全的情况下,强制拒绝用户的后续访问要求。
HSTS Header的语法如下:

Strict-Transport-Security: <max-age=>[; includeSubDomains][; preload]
  • max-age是必选参数,是一个以秒为单位的数值,它代表着HSTS Header的过期时间,通常设置为1年,即31536000秒。
  • includeSubDomains是可选参数,如果包含它,则意味着当前域名及其子域名均开启HSTS保护。
  • preload是可选参数,只有当你申请将自己的域名加入到浏览器内置列表的时候才需要使用到它。关于浏览器内置列表,下文有详细介绍。

比如上面的网站中:
在这里插入图片描述
有了这个就是告诉浏览器接下来的31536000s中,使用https访问网站。

完整的HSTS流程图如下:
在这里插入图片描述


撩我?可以搜索我的公众号:Kyda
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值