返回顶部
首页 > 资讯 > 后端开发 > Python >【1】HTTP协议和Socket接口区别
  • 874
分享到

【1】HTTP协议和Socket接口区别

接口区别协议 2023-01-30 22:01:07 874人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

内容提要:     1.网络七层模型     2.什么是Http协议     3.什么是Socket接口   1.网络七层模型   第一层:物理层 为设备之间的信息提供传输提供可靠环境,那么这个环境是什么呢? 如:同轴电缆,插头,接收

内容提要:

    1.网络七层模型

    2.什么是Http协议

    3.什么是Socket接口

 

1.网络七层模型

 

第一层:物理层

为设备之间的信息提供传输提供可靠环境,那么这个环境是什么呢?

如:同轴电缆,插头,接收器,水晶头,网线等。可以在通信的两个数据终端的设备之间连接起来形成一条通路。

再说下这个协议中的某一项规定:比如eiars-232-c及rs-449就可以兼容于100序列线上。

 

第二层:数据链路层

提供数据的传送服务。这里涉及到一个信息就是帧,它是数据传输的单元,不同的协议帧的长短也不同。它还有差错恢复,流量控制的功能(这个指的是硬件)

ISO1745--1975 、ISO7776 、ISO3309--1984 就是这一层的三种不同协议,而每一个协议帧的长短也是不同的。

我们常见的链路层产品就是网卡,网桥等。

 

第三层:网络层 

它的作用是路由的选择,网络的激活和终止。它还有的一个重要功能就是在一条数据链路上复用多条网络连接,大多采用的是分时复用的技术。

我们常见的是路由器、网关等

 

第四层:传输层

它是两台计算机经过网络进行数据通信时最基础的端到端的一个层次。它的服务满足了传送质量,传达速度,传送费用的不同需要。它还具有差错恢复,流量控制的功能(这个指的是软件)

很多时候我们会发现QQ聊天的速度很快,但是我们上网速度就很慢,这就是因为QQ使用UDP协议,没有纠错功能,而网络的传输使用的是tcp协议,它的纠错功能就会导致传输速度变慢。

 

第五层:会话层

它的服务可使应用建立和维持会话。再举个栗子:就像两个人打电话,一个人说,对方听到后回应他,这就是会话层在发挥作用,它能够使信息传递时保持同步,并按次序进行。

 

第六层:表示层

它包括数据的表示形式,文字,图形,图片等都有各自的格式,就像图片的格式有JPG,GIF等。

还有就是数据含义,就是数据的符号

这一层的作用就是为异种机通信提供一种公共语言,以便相互操作。例如,IBM主机使用EBCDIC编码,而大部分的PC机使用的是ASCII码。这就要表示层来完成这一转换。

 

第七层:应用层

实现应用进程之间的信息交换。同时还有一系列的业务处理所需要的服务功能。像文件的传送,访问和管理,打印服务都是属于应用层。

 

 

简单理解:

  物理层,数据链路层,网络层对应的是一个设备,这个设备在某一层就有某种功能。

  而传输层,会话层,表示层对应的是协议。

  应用层就是使用什么样的软件。

 

2.什么是HTTP协议

HTTP 协议:超文本传输协议,对应于应用层,用于如何封装数据.

http 为短连接:客户端发送请求都需要服务器端回送响应.请求结束后,主动释放链接,因此为短连接。通常的做法是,不需要任何数据,也要保持每隔一段时间向服务器发送"保持连接"的请求。这样可以保证客户端在服务器端是"上线"状态。

HTTP连接使用的是"请求-响应"方式,不仅在请求时建立连接,而且客户端向服务器端请求后,服务器才返回数据。

3.什么是Socket接口

Socket接口是对TCP/UDP协议封装的接口。

 

要想明白 Socket,必须要理解 TCP 连接。

TCP 三次握手:握手过程中并不传输数据,在握手后服务器与客户端才开始传输数据,理想状态下,TCP 连接一旦建立,在通讯双方中的任何一方主动断开连接之前 TCP 连接会一直保持下去。

Socket 是对 TCP/IP 协议的封装,Socket 只是个接口不是协议,通过 Socket 我们才能使用 TCP/IP 协议,除了 TCP,也可以使用 UDP 协议来传递数据。

创建 Socket 连接的时候,可以指定传输层协议,可以是 TCP 或者 UDP,当用 TCP 连接,该Socket就是个TCP连接,反之。

Socket 原理

Socket 连接,至少需要一对套接字,分为 clientSocket,serverSocket 连接分为3个步骤:

(1) 服务器监听:服务器并不定位具体客户端的套接字,而是时刻处于监听状态;

(2) 客户端请求:客户端的套接字要描述它要连接的服务器的套接字,提供地址和端口号,然后向服务器套接字提出连接请求;

(3) 连接确认:当服务器套接字收到客户端套接字发来的请求后,就响应客户端套接字的请求,并建立一个新的线程,把服务器端的套接字的描述发给客户端。一旦客户端确认了此描述,就正式建立连接。而服务器套接字继续处于监听状态,继续接收其他客户端套接字的连接请求.

Socket为长连接:通常情况下Socket 连接就是 TCP 连接,因此 Socket 连接一旦建立,通讯双方开始互发数据内容,直到双方断开连接。在实际应用中,由于网络节点过多,在传输过程中,会被节点断开连接,因此要通过轮询高速网络,该节点处于活跃状态。

 

很多情况下,都是需要服务器端向客户端主动推送数据,保持客户端与服务端的实时同步。

若双方是 Socket 连接,可以由服务器直接向客户端发送数据。

若双方是 HTTP 连接,则服务器需要等客户端发送请求后,才能将数据回传给客户端。

因此,客户端定时向服务器端发送请求,不仅可以保持在线,同时也询问服务器是否有新数据,如果有就将数据传给客户端。

 

--结束END--

本文标题: 【1】HTTP协议和Socket接口区别

本文链接: https://lsjlt.com/news/179353.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【1】HTTP协议和Socket接口区别
    内容提要:     1.网络七层模型     2.什么是HTTP协议     3.什么是Socket接口   1.网络七层模型   第一层:物理层 为设备之间的信息提供传输提供可靠环境,那么这个环境是什么呢? 如:同轴电缆,插头,接收...
    99+
    2023-01-30
    接口 区别 协议
  • 详解HTTP协议版本(HTTP/1.0、1.1、2.0、3.0区别)
    HTTP/1.0、/1.1、/2.0、/3.0区别 HTTP1.0无连接队头阻塞缓存 HTTP/1.1特点优缺点长连接管道传输 HTTP/1.0 比较 HTTP/1.1HTTP协议层次结构图HTTP/2.0头部压缩二...
    99+
    2023-08-21
    http 网络 服务器 网络协议 linux
  • mqtt协议和tcp协议的区别有哪些
    小编给大家分享一下mqtt协议和tcp协议的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!区别:1、MQTT诞生于1999年互联网初期,TCP协议诞生于...
    99+
    2023-06-15
  • 详解Http协议以及post与get区别
    一、什么是HTTP协议   HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与W...
    99+
    2024-04-02
  • SMTP 和 POP3 协议的区别和联系
    SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol 3)是两种常用的电子邮件协议,用于发送和接收电子邮件。虽然它们都涉及到电子邮件的传输,但在功能和使用方式上有一些区别...
    99+
    2023-08-21
    服务器 网络 tcp/ip
  • 如何在HTTP协议接口测试中使用HttpClient
    本篇文章为大家展示了如何在HTTP协议接口测试中使用HttpClient,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、GET请求: GET请求时,参数一般是写在链接上的,代码如下:public&...
    99+
    2023-05-31
    http httpclient
  • Python 之requests封装通用http协议接口请求
      思想这东西任何时候也不会是固定的,纵使框架大致一样,也不尽相同。关键还得是看业务和具体需求。python接口自动化测试框架,软件:IDE开发工具必选+工具类如下:  1、主要框架有:requests库、unittest单元测试框架、HT...
    99+
    2023-06-02
  • Spring Boot开发RESTful接口与http协议状态表述
    目录一、RESTful风格API的好处二、RESTful API的设计风格2.1、RESTful是面向资源的(名词)2.2、用HTTP方法体现对资源的操作(动词)2.3. HTTP状...
    99+
    2024-04-02
  • HTTP与HTTPS超文本传输协议的区别是什么
    目录HTTP和HTTPS的基本概念HTTP 与 HTTPS 区别HTTPS 的工作原理总结随着越来越多的网站使用HTTPS加密,现在HTTPS的使用已经成了硬性要求了。虽然说http...
    99+
    2022-12-23
    http和https的区别 http https http和https
  • Spring Boot开发RESTful接口与http协议状态的方法
    这篇文章主要介绍“Spring Boot开发RESTful接口与http协议状态的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring Boot开发RESTful接口与...
    99+
    2023-06-29
  • python中TCP和UDP协议有什么区别
    python中TCP和UDP协议有什么区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数...
    99+
    2023-06-14
  • SSL和SET安全协议的区别是什么
    SSL和SET安全协议的区别是:SSL有利于商家而不利于客户而SET对消费者与商家同样有利。具体区别如下:SSL叫安全套接层协议,SSL是国际上最早用的网络安全协议,目前SSL已经成为了工业的标准,但它的基点是商家对客户信息保密的承诺,所以...
    99+
    2024-04-02
  • Python接口自动化测试之http协议的知识点有哪些
    本文小编为大家详细介绍“Python接口自动化测试之http协议的知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python接口自动化测试之http协议的知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-06-30
  • 云服务器有哪几种协议类型的区别和联系与区别
    云服务器有多种协议类型,具体有以下几种区别和联系: 虚拟主机(Virtual Hosting):虚拟主机是指允许一台服务器分割成多个虚拟机,并共享存储资源和网络带宽的服务器。虚拟主机通常用于个人或小型公司,提供高性能、弹性、可靠性等特点...
    99+
    2023-10-26
    区别 几种 协议
  • MVC下的DAO接口类和SERVICE接口类区别?
    简单理解:DAO数据库访问对象 实现连接数据库 修改、添加等细节 service服务层 面向功能 把一个整个服务 细化 调用DAO其实service其中都是一些方法&nb...
    99+
    2023-06-03
  • 如何解决Ajax访问session的值不一致以及HTTP协议中GET和POST的区别
    如何解决Ajax访问session的值不一致以及HTTP协议中GET和POST的区别,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天在做...
    99+
    2024-04-02
  • 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
    标准Http协议支持六种请求方法,即: GET POST PUT Delete HEAD Options        但其实我们大部分情况下只用到了GET和POST。如果想设计一...
    99+
    2023-06-04
  • 不懂 Python IDE 和 http 协议?别担心,这里有详细的教程!
    Python 是一种非常流行的编程语言,它的易用性和功能强大性使得越来越多的人开始学习它。Python IDE 是一个集成开发环境,它能够让开发者更加高效地开发 Python 代码。而 http 协议是一种广泛使用的网络协议,用于在 Web...
    99+
    2023-08-15
    ide http 教程
  • C#抽象类和接口的区别
    这篇文章主要介绍“C#抽象类和接口的区别”,在日常操作中,相信很多人在C#抽象类和接口的区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#抽象类和接口的区别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-18
  • usb-c接口和type-c接口的区别是什么
    小编给大家分享一下usb-c接口和type-c接口的区别是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!usb-c接口和type-c接口没有区别,【type-c】接口和【usb-c】接口其实是一个东西,【USB-C】接...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作