• 博客园Logo
  • 首页
  • 新闻
  • 博问
  • 会员
  • 闪存
  • 班级
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 简洁模式 ... 退出登录
    注册 登录
PowerCoder
博客园    首页    新随笔    联系   管理    订阅  订阅

Https是否加密URL参数和Header中的信息?(转载)

问:


有些和地理位置相关的信息需要通过API 发送到后台服务. 除了放在JSON 格式的body里, 如果放在url中, 或者header中, 是否有隐私暴露的风险?

 

 

答:


HTTPS 会加密 header 和 body,而 URL 中 hostname 之后的部分是存在于 header 中的。

 

但注意 hostname 一般是会被明文传送的,因为 SNI。比如:

https://www.google.com/search?q=test 中的 www.google.com 部分

另外 DNS 解析请求也会暴露 hostname,发送到 DNS 服务器。

 

一个 request header 例子 (在 unix 环境执行):

curl -vs 'https://www.google.com/search?q=test' > /dev/null

结果中可以找到发送出去的 header:

> GET /search?q=test HTTP/2
> Host: www.google.com
> User-Agent: curl/7.54.0
> Accept: */*

 

所以:
除了 hostname 以外,其它部分都会加密。
另外一个需要注意的情况是用户如果直接以 http 发送请求且服务器的 80 端口开启,请求内容还是会泄露,即使服务器配置了跳转。对于这种情况可以考虑使用 HSTS。

 

 

参考文献:

Https能否保护住URL和Header中的信息?

 

posted @ 2022-05-18 23:54  PowerCoder  阅读(1625)  评论(0)  编辑  收藏  举报
刷新评论刷新页面返回顶部
Copyright © 2023 PowerCoder
Powered by .NET 7.0 on Kubernetes