首页 > 解决方案 > 安全 cookie 是否适用于 443 端口的 http 请求?

问题描述

带有安全标志的 Cookie 是否适用于 443 端口的 Http 请求?

例如)http:443//www.example.com

使用 443 端口的 Http 请求上的 ssl 怎么样?

标签: https

解决方案


“带有安全标志的 Cookie 是否适用于 443 端口的 Http 请求?”

-- 不可以。带有安全标志的 cookie 只能在 HTTPS 环境下工作。对端口 443(HTTPS 的默认端口)的 HTTP 请求仍然是 HTTP,而不是 HTTPS。协议就是协议,它不会由使用哪个端口来决定。

根据RFC6265

Secure 属性将 cookie 的范围限制为“安全”通道(其中“安全”由用户代理定义)。当 cookie 具有 Secure 属性时,仅当请求通过安全通道(通常是 HTTP over Transport Layer Security (TLS))传输时,用户代理才会将 cookie 包含在 HTTP 请求中

对端口 443 的 HTTP 请求未通过安全通道传输。

我做了一个简单的实验,结果如下:

  1. 做一个web服务器,监听443端口,HTTP协议。它运作良好。
  2. 在上面的服务器上,返回没有安全标志的 cookie。浏览器收到cookie并成功存储。
  3. 在上面的服务器上,返回带有安全标志的 cookie。浏览器收到 cookie,但会自动忽略它,因为当前协议是 HTTP,而不是 HTTPS。

“使用 443 端口的 Http 请求上的 ssl 怎么样?”

-- 使用 443 端口的 HTTP 请求没有 SSL。443是一个普通的普通数字,没有什么特别之处。它只是被选为HTTPS的默认端口而已,仅此而已。


推荐阅读