Http和Https的区别

本文探讨了HTTP和HTTPS的区别,包括明文传输的风险、无状态连接的局限、以及HTTP各版本的发展。重点介绍了HTTPS的TLS/SSL加密和身份验证,以及HTTP/2.0的双工模式和服务器推送功能。
摘要由CSDN通过智能技术生成

Http和Https的区别

Http的特点

  1. http的英文全称是:HyperText Transfer Protocol。中文译为超文本传输协议。http是一个简单的请求-响应协议,它通常运行在TCP之上,落地于应用层。
  2. HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议(Https中)TLS/SSL具有身份验证、信息加密和完整性校验的功能,可以避免此类问题发生。
  3. HTTP本身是一个无状态的连接协议,也就是服务器无从得知你是否已经登录过,所以你的每次请求都需要带上如用户名密码等信息证明你的身份,这对用户是极不友好的,解决方案是cookie和session

Http的各个版本

HTTP/0.9

HTTP协议的最初版本,功能简陋,仅支持请求方式GET,并且仅能请求访问HTML格式的资源。

HTTP/1.0
  • 在0.9版本上做了进步,增加了请求方式POST和HEAD;不再局限于0.9版本的HTML格式,根据Content-Type可以支持多种数据格式,即MIME多用途互联网邮件扩展,例如text/html、image/jpeg等;同时也开始支持cache,就是当客户端在规定时间内访问统一网站,直接访问cache即可。
  • 不支持长连接,即每次TCP请求完成就断开,每次请求都需要TPC三次握手,耗费资源
HTTP/1.1
  • 1.1 版的最大变化,就是引入了持久连接(persistent connection),解决了HTTP/1.0中最大的问题,即TCP连接默认不关闭,可以被多个请求复用,不用声明Connection: keep-alive。解决了1.0版本的keepalive问题,1.1版本加入了持久连接,一个TCP连接可以允许多个HTTP请求;
  • 新增了请求方式PUT、PATCH、OPTIONS、DELETE等。
HTTP/2.0

为了解决1.1版本利用率不高的问题,提出了HTTP/2.0版本。增加双工模式,即不仅客户端能够同时发送多个请求,服务端也能同时处理多个请求,解决了队头堵塞的问题(HTTP2.0使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级);HTTP请求和响应中,状态行和请求/响应头都是些信息字段,并没有真正的数据,因此在2.0版本中将所有的信息字段建立一张表,为表中的每个字段建立索引,客户端和服务端共同使用这个表,他们之间就以索引号来表示信息字段,这样就避免了1.0旧版本的重复繁琐的字段,并以压缩的方式传输,提高利用率。

    另外也增加服务器推送的功能,即不经请求服务端主动向客户端发送数据。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值