HTTP 和 HTTPS 的区别

  1. HTTP  和 HTTPS 的区别
    1. 端口不同:https的端口是443 ,而http的端口是80
    2. http传输是明文的,而https是用ssl加密的,https的安全性更高(https也就是在http上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。SSL中文交“安全套阶层”,后来由于广泛应用,SSL标准化之后就改名为TLS了)
    3. https是需要申请证书的,而http不需要
    4. 在这里插入图片描述

  2. 什么是HTTP 和 HTTPS 
    1. https 是 http的安全版本,也叫超文本安全传输,https是有加密传输协议的通道,并且ssl提供了安全加密基础,https主要是用于http的传输,并且在HTTP 和 TCp之间有一个特殊的加密/身份验证
    2. http是一种普通的传输协议,在互联网上,所有的文件都要遵守这个HTTP协议,同时超文本也是http传输的基本部分,实现客户端和服务器的相互请求
  3. HTTP 
    1. 网络七层协议:
      1. 物理层:物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织指定的标准。连接头、帧、帧的作用、电流、编码及光调制等都属于各种物理层规范中的内容
      2. 数据链路层:它顶替了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关
      3. 网络层:这层对端对端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了如何讲一个包分解成更小的报的分段方法
      4. 传输层:这层的功能包含是否选择差错恢复协议还是无差错恢复协议,及在同一个主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的艺的重新排序功能
      5. 会话层:它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在值完成谦虚消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果标识层收到了所有的数据,则用户数据代表标识层
      6. 标识层:这一层的主要功能是定义数据格式及加密。例如:FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,name发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方讲吧文本从发送方的字符集转换成标准的ASCII转换成接收方计算机的字符集
      7. 应用层:与其他计算机通讯的一个应用,它是对应应用程序的通信服务的。例如:一个没有通信功能的子处理程序就不能执行通信的代码,从事子处理工作的程序员也不关心OSI的第七层。但是如果添加了一个传输文件的选项,那么子处理器的程序员就需要实现OSI的第七层
    2. HTTP协议
      1. HTTP 协议对应于应用层,TCP协议对应于传输层,IP协议对应于网络层,HTTP协议是基于TCp连接的,三者本质上没有可比性。
      2. TCP/IP 是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,是它的一组接口
    3. TCP/IP 五层协议
      1. TCP/IP 五层模型的协议分为:应用层、传输层、网络层、数据链路层、和物理层。
      2. 中继器、集线器、还有我们常说的双绞线也工作在物理层;网桥(目前已很少使用)、以太网交换机(二层路由器)、网卡(其实网卡的一般工作的物理层、一般工作在数据链路层)在数据链路层;路由器、三层交换机在网络层;传输层主要是四层交换机、也有工作在四层的路由器
      3. TCP/IP 协议中的应用层处理七层模型中的第五层、第六层和第七层的功能。TCP/IP 协议中的传输层并不能总是保证在传输层可靠的传输数据包,而七层模型可以做到。
      4. TCP 和 UDP 
        1. TCP : 面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、熟读满,建立连接需要开销较多(时间,系统资源)
        2. UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快
    4. HTTP 1.0、1.1、 2.0 和 3.0 的区别
      1. HTTP 1.0

        1. 无状态,无连接;
        2. 短连接:每次发送请求都要重新建立tcp请求,即三次握手,非常浪费性能;
        3. 无host头域,也就是http请求头里的host;
        4. 不允许断点续传,而且不能只传输对象的一部分,要求传输整个对象。
      2. HTTP 1.1

        1. 长连接,流水线,使用connection:keep-alive使用长连接;
        2. 请求管道化;
        3. 增加缓存处理(新的字段如cache-control);
        4. 增加Host字段,支持断点传输等;
        5. 由于长连接会给服务器造成压力。
      3. HTTP 2.0

        1. 二进制分帧;
        2. 多路复用(或连接共享),使用多个stream,每个stream又分帧传输,使得一个tcp连接能够处理多个http请求;
        3. 头部压缩,双方各自维护一个header的索引表,使得不需要直接发送值,通过发送key缩减头部大小;
        4. 服务器推送(Sever push)。
      4. HTTP 3.0

        1. 基于google的QUIC协议,而quic协议是使用udp实现的;
        2. 减少了tcp三次握手时间,以及tls握手时间;
        3. 解决了http 2.0中前一个stream丢包导致后一个stream被阻塞的问题;
        4. 优化了重传策略,重传包和原包的编号不同,降低后续重传计算的消耗;
        5. 连接迁移,不再用tcp四元组确定一个连接,而是用一个64位随机数来确定这个连接;
        6. 更合适的流量控制
  4. HTTPS 
    1. 实现原理
      1. HTTPS 协议之所以安全是因为HTTPS协议会对传输的数据进行加密,而加密过程是使用了非对称加密实现。但其实:HTTPS在内容传输的加密上使用的是对称加密,非对称加密值作用在证书校验阶段
      2. 为什么数据传输是用对称加密
        1. 非对称加密的加解密效率低,网站中存在大量的交互,所以非对称的效率是无法接受的
        2. 在HTTPS的场景中只有服务端保存了私钥,一对公私钥只能实现单向的加解密,所以HTTPS中内容传输加密采取的是对称加密
      3. 为什么要使用CA 证书
        1. 防止“中间人”攻击,同时可以为网站提供身份证明

 

 

 转载于:HTTPS用的是对称加密还是非对称加密_咸鱼一号的博客的博客-CSDN博客_https 非对称加密

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值