当前位置: 首页 > news >正文

计算机网络之http02| HTTPS HTTP1.1的优化

  1. post与get请求的区别
    get 是获取资源,Post是向指定URI提交资源,相关信息放在body里
    在这里插入图片描述
    在这里插入图片描述
    2.http有哪些优点
    (1)简单 报文只有报文首部和报文主体,易于理解
    (2)灵活易拓展 URI相应码、首部字段都没有定义死,可以拓展 例如cookie setcookie并没有在RFC2616标准中
    HTTP在应用层,它的下层可任意变化
    (3)应用广泛跨平台
    电脑 手机 网站 购物
  2. HTTP有哪些缺点
    (1)无状态 服务器不用保存状态,减轻服务器负担
    没有状态,完成有关联性的操作麻烦 例如登录 添加购物车
    (2) 明文传输
    易于读取 不安全
    (3)不安全
    明文传输,信息窃取
    不验证对方身份,伪装
    无法保证信息不被篡改
  3. http1.1的性能
    (1)长连接 三次握手 请回 请回 … 四次挥手
    (2)管道网络传输 三次握手 请 请 请 回 回 会
    减少整体等待时间
    (3)队头阻塞
    因为当顺序发送的请求序列中的⼀个请求因为某种原因被阻塞时,在后⾯排队的所有请求也⼀同被阻塞了,会招致客户端⼀直请求不到数据,这也就是「队头阻塞」。好⽐上班的路上塞⻋。
  4. HTTPS如何保证安全性
    在这里插入图片描述

(1)混合加密
(2)摘要算法
(3)数字证书
5. 混合加密
在这里插入图片描述
客户端本地生成会话秘钥,使用服务器的公钥加密,传送给服务器,以后的通信都使用该会话秘钥对称加密通信
在这里插入图片描述
6. 摘要算法
在这里插入图片描述
双方之间通信的明文都会和摘要一起加密,服务端收到密文,解密,然后对明文计算摘要,与传送过来的摘要对比
7. 数字证书
目的:保证公钥的可信性
我的理解:只能保证公钥“值的信任”,经过CA认证。但传输公钥和证书过程中整个被掉包,怎们办?
在这里插入图片描述

服务器公钥–>CA认证【公钥,数字签名 】,将公钥放入网站(防止证书过期)
服务器—证书+公钥–>客户端使用ca公钥验证证书有效性—>官网查看—>公钥加密

数字签名=消息摘要+私钥加密

  1. SSL/TLS Secure Sockets Layer/Transport Layer Security 协议握手过程
    四次通信:请求服务端公钥 2次 秘钥协商 2次
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

(1)ClientHello请求
客户端向服务端发送clientHello请求,请求秘钥,请求内容包括【cli支持的SSL/TLS版本号,cli生成的随机数c,cli支持的加密方式】
(2)serverhello
对ClientHello请求的回复,包括
1) 确认SSL/TLS版本号
2)服务端生成的随机数 s
3)确认密码套件
4)数字证书 (理解为s公钥的摘要用ca私钥加密+s公钥 )
(3)客户端回应
客户端会验证公钥的合法性,如果真实,
1)cli使用s公钥加密一个随机数
2)加密通信算法改变通知(以后加密通信)
3)之前的握手数据摘要 (没有公钥加密)

双方各自使用三个随机数生成通信秘钥
(4)服务端回应
1)加密通信算法改变通知
2)之前所有握手报文摘要

  1. HTTP1.1 如何优化
    (1)尽量避免发送HTTP请求
    使用缓存技术
    (2)减少HTTP请求的次数
    1. 减少重定向的次数
      如果有代理,代理可以把重定向的内容返回给客户端,如果是永久重定向,代理服务器可以暂时记下来,客户端再次请求的时候,可以直接 向重定向指向的服务器请求.
      在这里插入图片描述
      在这里插入图片描述

在这里插入图片描述
2) 合并请求
将多个小资源的请求合并到一个请求中
优点:省去了很多次请求的发送,如果不是长连接的话,省去了tcp握手.
减少网络开销.
在这里插入图片描述
缺点:万一一个小资源发生改变,需要重新请求大资源
3) 延迟发送 按需发送
例如一个网页很长,只发送用户看到的,当向下滑时再发送新的,如果不向下滑就不发送了

(3)减小HTTP响应数据的大小
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/134.html

相关文章:

  • 基于matlab使用神经网络清除海杂波
  • 每天10个前端小知识 【Day 8】
  • 【项目精选】基于Java的敬老院管理系统的设计和实现
  • Spark SQL 介绍
  • 升级到 CDP 后Hive on Tez 性能调整和故障排除指南
  • 理解HDFS工作流程与机制,看这篇文章就够了
  • Intel处理器分页机制
  • Linux常用命令
  • 基于STM32设计的音乐播放器
  • 微服务开发
  • 【(C语言)数据结构奋斗100天】二叉树(上)
  • Java 验证二叉搜索树
  • C/C++单项选择题标准化考试系统[2023-02-09]
  • 爱了爱了,这些顶级的 Python 工具包太棒了
  • 【Explain详解与索引优化最佳实践】
  • 【树和二叉树】数据结构二叉树和树的概念认识
  • 通达信收费接口查询可申购新股c++源码分享
  • 【C#设计模式】创建型设计模式 (单例,工厂)。
  • Ubuntu 22.04 LTS 入门安装配置优化、开发软件安装一条龙
  • 第五十章 动态规划——数位DP模型
  • 02- pandas 数据库 (机器学习)
  • 学Qt想系统的学习,看哪本书?
  • 2023年网络安全比赛--跨站脚本攻击②中职组(超详细)
  • 网络安全实验室4.注入关
  • 领域搜索算法之经典The Lin-Kernighan algorithm
  • 深度学习基础-机器学习基本原理
  • C语言操作符详解 一针见血!
  • 前端面试题汇总
  • 以数据驱动管理场景,低代码助力转型下一站
  • 2023年全国数据治理DAMA-CDGA/CDGP考试报名到弘博创新