热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

一、HTTP(超文本传输协议,用于网络通信数据传输):二、HTTPS原理(对HTTP进行非对称加密传输数据使网络通信较为安全)加密原理步骤:  1、服务器将公钥发送给CA机构申请数

一、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端发送确认收到请求断开连接
 
挥手与握手示意图 
HTTP、HTTPS、TCP/IP的关联以及区别

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

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

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


推荐阅读
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 解决浏览器打开网页后提示“dns_probe_possible 怎么解决”的方法
    在使用浏览器进行网上冲浪的时候遇到故障是一件很常见的事情,很多用户都遇到过系统提示:dns_probe_possible。从提示中可以看出和DNS是有一定的关系的,经过小编测试之后 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
author-avatar
林君滨__
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有