当前位置:首页 > 技术 >

socket和http区别(websocket和socket区别)

来源:原点资讯(www.yd166.com)时间:2022-10-26 13:01:10作者:YD166手机阅读>>

关于TCP/IP和HTTP协议的关系,有一段比较容易理解的介绍:

  我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。

Socket是什么呢,实际上Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。

TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。”

TCP/IP 和 HTTP 的数据结构

HTTP 作为 TCP/IP 参考模型的应用层,把 HTTP 放到 TCP/IP 参考模型中,它们的继承结构是这样的:

socket和http区别,websocket和socket区别(5)

在 TCP/IP 参考模型中它们的整体的数据结构是:IP 作为以太网的直接底层,IP 的头部和数据合起来作为以太网的数据,同样的 TCP/UDP 的头部和数据合起来作为 IP 的数据,HTTP 的头部和数据合起来作为 TCP/UDP 的数据。

socket和http区别,websocket和socket区别(6)

IP 的数据结构和交互流程

我们都知道在一个成功的 HTTP 请求中,服务端可以在一个请求中获取到客户端 IP 地址,也可以获取到客户端请求的主机的 IP 地址。然而这是怎么做到的呢?这就有赖于 IP 协议了,在 IP 协议中规定了,IP 的头部必须包含源 IP 地址和目的 IP 地址,这也是为什么在 TCP/IP 参考模型中IP 处在网络互联层,其中一个原因就是可以定位服务端地址和客户端地址,我们来看一下 IP 的数据结构:

socket和http区别,websocket和socket区别(7)

可以很清晰的看到源 IP 地址和目的 IP 地址,在 IP 的头部各占 32 位,而 IPV4 的 IP 地址是用点式十进制表示的,例如:192.168.1.1,在 IP 头部用二进制表示的话,刚好是 4 个字节 32 位。

32 位可以表示的 IP 地址是有限的,使用了 IP 地址转换技术 NAT。例如 ABC 三个小区的所有设备可能公用了一个公网 IP,通过 NAT 技术分给每一户一个私有 IP 地址,大家在小区内交流时可能使用的是私有 IP 地址,但是向外交流时就用公网 IP。

TCP 的数据结构和交互流程

我们通常说的 HTTP 的 3 次握手和 4 次挥手都是由 TCP 来完成的,其实这都没 HTTP 什么事,但是有不少人喜欢这么说,严格来说我们应该说 TCP 的 3 次握手 4 次挥手。要搞清楚 TCP 的交互流程,首先要清楚 TCP 的数据结构,接下来我们来看一下 TCP 的数据结构:

socket和http区别,websocket和socket区别(8)

栏目热文

websocket和socket的区别(websocket缺点有哪些)

websocket和socket的区别(websocket缺点有哪些)

对于物联网(IoT,Internet of Things),最重要的是在互联网中设备与设备的通讯,现在物联网在inter...

2022-10-26 13:28:06查看全文 >>

http和socket通信有什么区别(socket和http哪个响应快)

http和socket通信有什么区别(socket和http哪个响应快)

OSI是一个 开放性 的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构每层都可以有几个子层...

2022-10-26 13:04:59查看全文 >>

websocket和http协议有什么区别(websocket协议的缺点)

websocket和http协议有什么区别(websocket协议的缺点)

一、联系:1、都是基于TCP协议;2、websocket是基于http的他们的兼容性都很好;3、在连接的建立过程中对错误...

2022-10-26 12:58:37查看全文 >>

socket和http的优缺点(websocket和http)

socket和http的优缺点(websocket和http)

我们对于做不做HTTPS网站这一问题进行了相关调研。HTTPS是什么HTTPS(全称:Hyper Text Transf...

2022-10-26 13:21:58查看全文 >>

说说websocket与socket区别(websocket和socket哪个稳定)

说说websocket与socket区别(websocket和socket哪个稳定)

Websocket 和 Socket 的区别就像Java和JavaScript,并没有什么太大的关系,但又不能说完全没关...

2022-10-26 13:29:05查看全文 >>

socket和http优缺点(http和socket区别)

socket和http优缺点(http和socket区别)

一、OSI 网络七层模型第一层:应用层,定义了用于在网络中进行通信和传输数据的接口;(Http协议位于该层)第二层:表示...

2022-10-26 13:44:57查看全文 >>

websocket和tcp区别(websocket服务器要多大)

websocket和tcp区别(websocket服务器要多大)

本文引用自“ 豆米博客”的《JS实时通信三把斧》系列文章,有优化和改动。1、引言有关Web端即时通讯技术的文章我已整理过...

2022-10-26 13:04:40查看全文 >>

websocket和http2.0的区别(websocket和socket哪个稳定)

websocket和http2.0的区别(websocket和socket哪个稳定)

昨天的文章中提到了HTTP/2,很多同学问HTTP/2是啥,找了这篇文章分享给各位文章来源:http://www.hol...

2022-10-26 13:29:39查看全文 >>

websocket一般用什么服务器(websocket服务器怎么打开)

websocket一般用什么服务器(websocket服务器怎么打开)

安装nodeJs和配置, 参考nodeJs安装文档,下图问本人本地安装的版本查看版本 npm-v在本地创建存放项目文件夹...

2022-10-26 13:47:10查看全文 >>

websocket和http的区别(websocket登录验证)

websocket和http的区别(websocket登录验证)

一、这一大堆关键词之间到底有啥区别?有名字就有定义,理解的前提从来都是对定义有所了解。就好比现在让你形容一下梯形的定义,...

2022-10-26 13:32:34查看全文 >>

文档排行