文章目录
  1. 1. 一、HTTPS特点
  2. 2. 二、SSL连接过程
  3. 3. 三、HTTP消息结构

一、HTTPS特点

  • 在应用层(HTTP)和传输层(TCP)之间,使用SSL/TLS
  • 用数字证书对服务器进行认证:
    • 通过HTTPS建立安全的Web事务之后,浏览器会获取服务器的数字证书
    • 通过验证颁发机构的签名确认是否“信任”(如果不信任会发出询问)

二、SSL连接过程

  • 建立到443端口的TCP连接
  • SSL安全参数握手,交换密钥
  • SSL上发送HTTP请求/TCP上发送已加密请求
  • SSL上发送HTTP响应/TCP上发送已加密响应
  • SSL关闭
  • TCP连接终止

三、HTTP消息结构

Request:

  • 请求行:GET http://… HTTP/1.1
  • 请求头(Cache头域):

    • If-Modified-Since:判断是否使用304
    • If-None-Match:和Etag配合使用
    • Pragma:只可以设定为no-cache
    • Cache-Control:public/private/no-cache
  • 请求头(Client头域):

    • Accept:浏览器可接受的媒体类型
    • Accept-Language:可接受语言
    • Accept-Encoding:可接受编码方法,如gzip
    • Accept-Charset:可接受字符集
    • User-Agent:客户端的操作系统等信息
  • 请求头(其他):

    • Cookie:缓存值
    • Content-Length:发送给服务器的数据长度
    • Content-Type:发送给服务器的数据类型
    • Referer:指明链接来源
    • Connection:是否keep-alive

Response:

  • 响应行:HTTP/1.1 200 “success”
  • 响应头(Entity头域):

    • Etag:和If-None-Match配合使用
    • Content-Type:响应对象字符集
    • Content-Length:响应对象长度
    • Content-Encoding:表明压缩方法
    • Content-Language:响应对象的语言
    • Set-Cookie:把Cookie发送到客户端浏览器
  • 响应头(其他):

    • Connection:close/keep-alive
    • Location:重定向一个新的位置

响应码:

  • 200:成功
  • 302:Found重定向,新的URL会在response中的Location返回
  • 304:NotModified上次文档缓存,可以继续使用
  • 403:Forbidden拒绝提供服务
  • 404:NotFound请求资源不存在
  • 503:ServerUnavailable服务器当前不能处理客户端请求
文章目录
  1. 1. 一、HTTPS特点
  2. 2. 二、SSL连接过程
  3. 3. 三、HTTP消息结构