HTTP协议的发展历史及知识点

HTTP是什么

  • HTTP协议是超文本传输协议,是用于服务器传输超文本到本地浏览器的传输协议。
  • HTTP是基于TCP/IP通信协议来传递数据的(HTML 文件, 图片文件, 查询结果等)

发展历史图例
在这里插入图片描述

HTTP/0.9

  • 只有一个命令GET
  • 没有header等描述数据的信息
  • 服务器发送完毕,就关闭TCP连接

HTTP/1.0

  • 增加了很多命令
  • 增加status code和header
  • 多字符集支持,多部分发送、权限、缓存等

HTTP/1.1【目前使用的都是HTTP/1.1版本】

  • 持久连接
  • pipeline【串行传输】
  • 增加host和其他命令

HTTP/2

  • 所有数据以二进制传输
  • 同一个连接里面发送多个请求不再需要按照顺序来【并行传输】
  • 头信息压缩以及推送等提高效率的功能
    • 推送:比如在服务端向客户端发送html文档的时候,会将其中引用的js、css等资源一同推送给客户端,而不需要等浏览器解析到html文档中引用的js、css等资源地址之后,再去请求,实现了并发请求资源的功能

HTTPS是什么

  • https是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性。https在http的基础上加入ssl证书,https的安全基础是ssl,因此加密的详细内容就需要ssl进行加密。

HTTP的缺点

  • 明文传输(https是密文传输),未经过加密
  • 没有身份认证
  • 缺乏数据完整性的检测:攻击者可以轻易的修改客户端和服务端传输的数据, 甚至在传输数据中插入恶意代码, 导致客户端被引导至恶意网站被植入木马。

HTTP的请求报文

  • 由四部分组成:请求行、请求头、空行、请求体
  • 请求行:请求的url字段、http协议版本、请求方法
  • 请求头:Accept、user-agent、cookie、content-length、If-Modified-Since、Host、origin等
  • 空行:通过一个空行,告诉服务器请求头部到此为止。
  • 请求体:请求参数或提交的数据

HTTP的响应报文

  • 有三部分组成:响应行、响应头、响应体
  • 响应行:http协议版本、状态吗、描述
  • 响应头:set-cookie、expires、Etag、Last-Modified、content-length、Access-Control-Allow-Origin、Content-Type等
  • 响应题:服务返回的数据

HTTPS的加密过程
在这里插入图片描述

https怎么验证证书的合法性

  • 向证书颁发机构发送请求,查看证书是否在有效期,是否被吊销了。
  • 验证服务器是否持有证书的对应私钥。验证方法两种,一种是对方签个名,我用证书验证签名;另外一种是用证书做个信封,看对方是否能解开。

charles抓https包原理

  • HTTPS抓包的原理还是挺简单的,简单来说,就是Charles作为“中间人代理”,拿到了服务器证书公钥和HTTPS连接的对称密钥,前提是客户端选择信任并安装Charles证书,否则客户端就会“报警”并中止连接。这样看来,HTTPS还是很安全的。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值