https - 安全 cookie 是否适用于 443 端口的 http 请求?
问题描述
带有安全标志的 Cookie 是否适用于 443 端口的 Http 请求?
例如)http:443//www.example.com
使用 443 端口的 Http 请求上的 ssl 怎么样?
解决方案
“带有安全标志的 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 请求未通过安全通道传输。
我做了一个简单的实验,结果如下:
- 做一个web服务器,监听443端口,HTTP协议。它运作良好。
- 在上面的服务器上,返回没有安全标志的 cookie。浏览器收到cookie并成功存储。
- 在上面的服务器上,返回带有安全标志的 cookie。浏览器收到 cookie,但会自动忽略它,因为当前协议是 HTTP,而不是 HTTPS。
“使用 443 端口的 Http 请求上的 ssl 怎么样?”
-- 使用 443 端口的 HTTP 请求没有 SSL。443是一个普通的普通数字,没有什么特别之处。它只是被选为HTTPS的默认端口而已,仅此而已。
推荐阅读
- sql-server - java.sql.SQLException:I/O 错误:GSS 失败:未提供有效凭据(机制级别:..)
- postgresql - 如何修复 C++ 中 cmake 错误中的编译 libpq-fe.h
- maven - 范围系统与提供的类路径
- python - 从父文件夹循环导入,导致“无法执行相对导入”错误
- python - 类型对象“通知”没有属性“对象”
- jquery - 在div外单击时关闭jquery功能
- django - 为什么新媒体文件会在我的 django 应用程序中自行出现?
- c# - httpclient 模拟用户在 Internet c# 上的导航
- vba - 从批处理文件运行 Outlook 2016 宏
- c++ - 在向量内调用函数指针不会做任何事情