HTTP 和 HTTPS

HTTP 和 HTTPS

超文本传输协议

HTTP
特点
灵活

可以传递各种数据

无连接

每次连接只处理一个请求即断开,cookie 和 session 可以保持记录

无状态

无记忆,断开后需重新传送数据

明文传输,不安全
队头阻塞

开启长链接时,同一时刻只能处理一个请求,其他请求只能处于阻塞状态,解决方案如下:

  • 并发
    http1.1 增加了管线化技术,对于同一域名,允许分配多个长链接,而无需等待上一次请求完成即可发送
  • 域名分片
    同一域名,可以有多个长链接,那么可以开启多个二级域名,指向同一台服务器
请求报文
  • 请求行
    请求方式、路径、版本
  • 请求头
  • 正文
响应报文
  • 状态
  • 响应头
  • 正文
常见的请求方式
  • GET
  • POST
  • PUT
  • DELETE
  • HEAD
GET 和 POST
  • 幂等:GET是 幂等(单次或多次请求,参数相同,对系统的影响是相同的) 的。
  • 缓存:一般会对 GET 进行缓存
  • 请求长度:一般浏览器会对 GET 进行限制长度
  • 安全性:GET 会将参数放在 URL 上明文传输
状态码
  • 1xx:表示目前是协议的中间状态,还需要后续请求
  • 2xx:表示请求成功
  • 3xx:表示重定向状态,需要重新请求
  • 4xx:表示请求报文错误
  • 5xx:服务器端错误

常用状态码:

  • 101 切换请求协议,从 HTTP 切换到 WebSocket
  • 200 请求成功,有响应体
  • 301 永久重定向:会缓存
  • 302 临时重定向:不会缓存
  • 304 协商缓存命中
  • 403 服务器禁止访问
  • 404 资源未找到
  • 400 请求错误
  • 500 服务器端错误
  • 503 服务器繁忙
HTTP 2.0
头部压缩

在客户端和服务端之间建立一张表:哈希表或者索引表,将字段和索引一一匹配,请求过程中,只需要传递索引就可以。

多路复用

代替http 1.x 中的序列和阻塞机制,同一域名下通过同一个TCP链接并发,一个TCP可以允许多个请求发送,采用二进制分帧对请求分为多个数据帧,到达后再进行组装成完整的报文。

服务器推送

服务器可以主动向客户端推送信息

HTTPS

HTTPS 并不是一个新的协议,可以简单理解为 HTTPS = HTTP + TLS/SSL

  • 信息加密
  • 校验机制,确保信息不会篡改
  • 身份证书,保证身份真实性
对称加密

双方使用同一个密钥对加密的内容进行解密

缺点:

  • 客户端和服务端都需要维护密钥,维护成本高
  • 密钥易被盗取
非对称加密

有两个密钥,分为公钥和私钥

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值