• HTTP、HTTPS、TCP/IP的关联以及区别


    一、HTTP (超文本传输协议,用于网络通信数据传输):

    二、HTTPS原理(对HTTP进行非对称加密传输数据使网络通信较为安全)

      加密原理步骤:
        1、 服务器将公钥发送给CA机构申请数字证书
        2、CA机构下发数字证书给服务器再由服务器发送给客户端
              2.1、将企业信息以及公钥用MD5生成摘要放在信息后面
              2.2、再将2.1的所有信息用CA私钥加密发回个服务器
        3、服务器拿到数字证书后发送给客户端
        3、客户端使用浏览器中内置的CA公钥解析数字证书
        4、解析完毕后对内容进行MD5的加密再与摘要匹配如果一直说明文本完整,服务器安全。
     
    无法被篡改的原因: 当socket 包被拦截后可以使用CA的公钥对服务器的公钥进行解密,也可以对信息解密从而拿到信息。
    但无法修改,因为你无法拿到CA的私钥对伪装的公钥进行加密!所以保证了信息安全。

    三、HTTP 与 HTTPS区别与联系

      优/缺点 端口 效率 内部实现
    http(超文本传输协议)
    传输快、校验简单不安全,容易被抓包监控
    80 高,传输快 HTTP
    https(超文本传输安全协议)
    安全、SEO排名高,被google所信任较http 慢
    80 与 443(传输证书的) 相对http 慢 HTTP+SSL

    四、OSI七层协议

    OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。
    OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 

    五、HTTPS 与 TCP/IP联系与区别(HTTP基于TCP,TCP用于连接,HTTP用于数据传输)

      HTTP TCP/IP
    区别 应用层定义传输数据的内容的规范 传输层数据传输和连接方式的规范(不带任何数据,仅仅用于连接通信)
    意义 C端通过HTTP发起短连接请求访问S端获取响应报文 Http 必须建立在TCP/IP连接成功之后才能发起访问请求,建立HTTP 连接的基础
    作用 使用户与服务器有一个良好的交互,才出现了TB,JD 等等大型网站 应用层协议建立连接的基石,应用层的连接必须在TCP/IP三次握手之后才能发送数据

    六、TCP连接的三次握手与断开连接的四次挥手

    TCP是什么:
         1、TCP协议是面向连接的运输层协议在数据传输前必须建立连接,数据才能开始传输
         2、每条连接都是端口对端口的连接(一对一)
         3、浏览器像服务器传输数据是,传输过程中是一个一个的数据报文,被分段了,到服务器端重组
         4、TCP提供全双工通信:一端既可以是服务端也可以是客户端    
     
    三次握手建立连接:
         第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
         第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
         第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
         握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
     
    四次挥手断开连接:
    1、B端发送断开请求
    2、S端发送ACK确认收到B端断开请求
    3、将S端的数据处理完毕后发送可以断开FIN给B端
    4、B端发送确认收到请求断开连接
     
    挥手与握手示意图 

    为什么需要三次握手,而非两次
    正如上文所描述的,为了实现可靠传输,发送方和接收方始终需要同步( SYNchronize )序号。 需要注意的是, 序号并不是从 0 开始的, 而是由发送方随机选择的初始序列号 ( Initial Sequence Number, ISN )开始 。 由于 TCP 是一个双向通信协议, 通信双方都有能力发送信息, 并接收响应。 因此, 通信双方都需要随机产生一个初始的序列号, 并且把这个起始值告诉对方。

    在这里插入图片描述

     上图描述参考文献:https://blog.csdn.net/lengxiao1993/article/details/82771768 

  • 相关阅读:
    数据库第1,2,3范式学习
    node.js安装及小例子
    WorkSkill整理之 技能体系
    PTE 准备之 Read aloud
    PTE 准备之 Personal introduction
    PTE准备的时候,用英式英语还是美式英语
    sqlserver2014无法打开报Cannot find one or more components_修复方案
    beego 框架用的页面样式模板
    Go语言开发中MongoDB数据库
    xmind8 破解激活教程
  • 原文地址:https://www.cnblogs.com/lanSeGeDiao/p/11379624.html
Copyright © 2020-2023  润新知