-
• TCP (传输控制协议,Transmission Control Protocol)
-
• TCP 三次握手
-
• UDP(用户数据报协议,User Data Protocol)
-
• HTTP(超文本传输协议)
-
• TCP、UDP和 HTTP 的区别
-
• 扩展 HTTP 与 HTTPS
-
• HTTP 和 HTTPS 的基本概念
-
• HTTP 与 HTTPS 有什么区别
TCP (传输控制协议,Transmission Control Protocol)
TCP (传输控制协议,Transmission Control Protocol) ,(类似打电话)面向连接、传输可靠(保证数据正确性) 、有序(保证数据顺序) 、传输大量数据 (流模式) 、速度慢、对系统资源的要求多,程序结构较复杂。
每一条 TCP 连接只能是点到点的,TCP 首部开销 20 字节。
TCP 三次握手
TCP 建立连接需要三次握手
-
• 第一次握手:客户端发送 SYN 包(seg=x) 到服务器,并进入 SYN SEND 状态,等待服务器确认;
-
• 第二次握手:服务器收到 SYN 包,必须确认客户的 SYN (ack=x+1) ,同时自己也发送一个 SYN 包 (seg=y) ,即 SYN+ACK 包,此时服务器进入 SYN RECV 状态
-
• 第三次握手: 客户端收到服务器的 SYN+ACK 包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手
握手过程中传送的包里不包合数据,三次握手完毕后,客户端与服务器才正式开始传送数据。
理想状态下,TCP 连接一旦建立,在通信双方中的任何一方主动关闭连接之前TCP 连接都将被一直保持下去
UDP(用户数据报协议,User Data Protocol)
UDP(用户数据报协议,User Data Protocol) : (类似发短信)面向非连接、传输不可靠 (可能丢包)、无序、传输少量数据(数据报模式)、速度快,对系统资源的要求少,程序结构较简单。
UDP 支持一对一,一对多,多对一和多对多的交互通信,UDP 的首部开销小,只有 8 个字节。
UDP(User Datagram Protocol,用户数据报协议)是一种网络传输层协议,它提供了一种无连接的、不可靠的数据传输服务。
UDP主要用于在计算机网络中传输短消息。
与TCP相比,UDP在功能上更加简单,并且没有建立连接的过程。
它将数据分割成数据报,每个数据报都是独立的、不依赖其他数据报的完整信息。
UDP在发送端将数据报发送给接收端的特定IP地址和端口号,而接收端则根据IP地址和端口号来接收和处理数据报。
由于UDP是一种无连接的协议,因此它不会保证数据传输的可靠性。这意味着数据报可能会在传输过程中丢失、重复、失序或出现错误,同时也不提供拥塞控制机制。UDP适用于对数据传输延迟要求较高、丢失少量数据不会造成严重问题的应用场景,如音频和视频流媒体、实时游戏等。
UDP的优点包括传输效率高、开销低、延迟小,并且适用于广播和多播等特殊的网络通信方式。然而,由于缺乏可靠性和拥塞控制,UDP无法保证数据的完整性和可靠性,因此在某些应用场景下,如文件传输、重要数据传输等,可能需要使用更可靠的传输协议,如TCP。
UDP是一种简单、高效但不可靠的传输协议,适用于对实时性要求较高的应用场景。
HTTP(超文本传输协议)
HTTP(HyperText Transfer Protocol)是一种用于在计算机网络上传输超文本数据的通信协议。它是Web应用程序中最常用的协议之一,用于在客户端和服务器之间进行数据传输。
HTTP基于客户端-服务器模型,客户端发送HTTP请求到服务器,服务器则返回HTTP响应来传递请求的结果。这种请求-响应模式可以实现各种类型的通信,例如浏览器请求网页、上传文件、发送数据等。
HTTP是一个无状态协议,即服务器不会保留任何关于客户端的信息。每个请求都是独立的,服务器不知道之前的请求内容或状态。为了解决这个问题,引入了Cookie和Session等机制来维护客户端的状态信息。
HTTP协议使用统一资源标识符(Uniform Resource Identifier,URI)来标识要访问的资源,例如网页、图像、视频等。常见的HTTP方法包括GET(获取资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)等。
除了传输数据外,HTTP还支持一些其他功能,例如缓存控制、身份验证、加密等。HTTP还可以通过HTTPS(HTTP Secure)来提供加密和安全性。
HTTP是一种广泛应用于Web通信的协议,它定义了客户端和服务器之间的数据传输格式和规则,为我们在互联网上浏览和交互提供了基础支持。
TCP、UDP和 HTTP 的区别
-
• TCP/IP 协议栈主要分为四层: 应用层、传输层、网络层、数据链路层,每层都有相应的协议
-
• IP:网络层协议, (类似于高速公路)
-
• TCP 和 UDP:传输层协议, (类似于卡车)
-
• HTTP:应用层协议, (类似于货物) 。
HTTP(超文本传输协议)是利用 TCP 在两台电脑(通常是 Web 服务器和客户端)之间传输信息的协议。
客户端使用 Web 浏览器发起 HTTP 请求给 Web 服务器,Web 服务器发送被请求的信息给客户端
HTTP 协议是建立在请求/响应模型上的。首先由客户建立一条与服务器的 TCP 链接并发送一个请求到服务器,请求中包含请求方法、URI、协议版本以及相关的 MIME 样式的消息。服务器响应一个状态行,包含消息的协议版本、一个成功和失败码以及相关的MIME 式样的消息
虽然 HTTP 本身是一个协议,但其最终还是基于 TCP 的
扩展 HTTP 与 HTTPS
超文本传输协议 HTTP 协议:被用于在 Web 浏览器和网站服务器之间传递信息,HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了 Web 浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息
为了解决 HTTP 协议的这一缺陷,需要使用另一种协议:
安全套接字层超文本传输协议HTTPS ,为了数据传输的安全,HTTPS 在 HTTP 的基础上加入了 SSL 协议,SSL 依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密
HTTP 和 HTTPS 的基本概念
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准 (TCP) ,用于从 WWW 服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网终传输减少。
HTTPS:是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版,即 HTTP 下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。
HTTPS 协议的主要作用可以分为两种:
-
• 一种是建立一个信息安全通道,来保证数据传输的安全;
-
• 另一种就是确认网站的真实性。
HTTP 与 HTTPS 有什么区别?
HTTP 协议传输的数据都是未加密的,也就是明文的。
因此使用 HTTP 协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了 SSL
SSL (SecureSockets Layer) 协议用于对 HTTP 协议传输的数据进行加密,从而就诞生了 HTTPS。
HTTPS 加密、加密、及验证过程
简单来说,HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,要比 http 协议安全。
HTTPS 和 HTTP 的区别主要如下
-
• https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。
-
• http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。
-
• http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是443。
-
• http 的连接很简单,是无状态的,HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全。
原文始发于微信公众号(前端爱好者):TCP、UDP和 HTTP 的区别
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/267368.html