https基础

Posted xihuangwutong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了https基础相关的知识,希望对你有一定的参考价值。

TLS 有三大功能:内容加密,身份认证,数据完整性认证

  • 内容加密是依赖于秘钥协商协议
  • 数据完整性依赖MAC(message authentication code)
  • 身份认证依赖于证书认证机制:一般浏览器和操作系统会维护一个收信任证书列表,
    不可能让每个人都安装各个站点的证书,所以就有了CA,CA证书是广泛的内置系统根证书,会被绝大部分用户接受

  • CA会根据不同级别的认证颁发不同的证书:域名认证,公司认证,拓展认证

    • 域名认证(确定申请人有这个域名就可以了,认证级别最低)
    • 公司认证(证书里会显示公司的信息)
    • 拓展认证(浏览器里直接显示公司的名字,认证几倍最高)

使用301进行重定向

nginx:
    server 
        listent:80;
        server_name domain.com www.domain.com;
        return 301 https://domain.com$request_uri;
    

apache 
    RewriteEngine On
    RewriteCond %HTTPS off
    RewriteRule (.*) https://%HTTPS_HOST%REQUEST_URI[R=301,L]

用户一般输入网址的时候不会输入协议名称,这个时候会点击链接或者301重定向
提示警告后继续访问,
这个时候可能会被攻击者获取http篡改,
HSTS严格传输可以阻止用户不接受不安全的证书

在网站的响应头里加入一个强制声明

Strict-transport-security:max-age=31536000 IncludeSubDomains

会在接下来的一年里子域名在浏览器里http会自动转换成HTTPS,无法忽略警告继续访问

HTTPS使用cookie的时候要加上set-cookie secure

参考:http://www.ruanyifeng.com/blog/2016/08/migrate-from-http-to-https.html
- https://imququ.com/post/web-proxy-2.html

以上是关于https基础的主要内容,如果未能解决你的问题,请参考以下文章

HTTP请求头(Header)参数

Java基础教程:HTTPS

python获取请求头里面的cookie

nginx媒体压缩

前端vue如何找到默认的头里的返回按钮的事件

接口调用限制次数