TCP、UDP和 HTTP 的区别

  • • 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

(0)
李, 若俞的头像李, 若俞

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!