HTTP的设计初衷是为了在网络上发布和接收html页面。它起源于1960年美国人Ted Nelson提出的超文本概念。经过多年的发展,万维网协会和互联网工程工作小组共同合作,发布了一系列的RFC,其中RFC 2616定义了HTTP 1.1的标准。
Socket则是网络通信中的基石,它描述了网络上两个程序间通过双向通信连接实现数据交换的方式。Socket实际上是TCP/IP协议的封装,提供了程序员用于网络开发的接口。相比之下,HTTP像是轿车,负责数据的封装和显示,而Socket则是发动机,提供了网络通信的动力。
Socket的原意是“孔”或“插座”,在计算机领域,它被用来描述ip地址和端口的组合,是实现不同计算机或虚拟机间通信的句柄。在Internet上的每台主机通常都会运行多个服务软件,每个服务都会打开一个Socket并绑定到一个端口上,不同的端口对应不同的服务。
现在,我们来探讨一下Socket和HTTP的优缺点。
Socket传输的数据是字节级的,可以自定义数据格式,数据量小,适合移动应用,费用较低。传输时间短,性能高,非常适合客户端和服务器之间的实时信息交互。它还可以进行数据加密,安全性强。然而,Socket传输需要对数据进行解析和转换,对开发人员的技术要求较高,相对于HTTP协议,Socket的开发量更大。
HTTP协议传输的主要优点是使用方便,基于应用级的接口易于操作,对程序员的技术要求相对较低。但是,HTTP协议的传输速度较慢,数据包较大,且包含了许多辅助应用信息。在实时交互方面,HTTP协议对服务器的性能要求较高,且数据传输的安全性较差。
不同的传输方式有不同的适用范围。Socket传输适合对传输速度、安全性、实时交互和费用有较高要求的应用,如网络游戏、移动应用和银行内部交互等。而HTTP协议传输则适合对速度和安全性要求不高,需要快速开发的应用,如公司OA系统和互联网服务。
总之,Socket和HTTP各有优缺点,选择哪种传输方式取决于具体的应用需求和场景。了解它们的特性,合理选择,能够更好地服务于我们的网络通信需求。
http
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。
socket
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。
Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原义那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。
socket和http优缺点
1 数据传输方式
1.1 Socket传输的定义和其特点
所谓socket通常也称作“套接字”,实现服务器和客户端之间的物理连接,并进行数据传输,主要有UDP和TCP两个协议。Socket处于网络协议的传输层。
UDP协议:广播式数据传输,不进行数据验证
TCP协议:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,
Socket 传输的特点:
优点
1) 传输数据为字节级,传输数据可自定义,数据量小(对于手机应用讲:费用低)
2) 传输数据时间短,性能高
3) 适合于客户端和服务器端之间信息实时交互
4) 可以加密,数据安全性强
缺点:
1) 需对传输的数据进行解析,转化成应用级的数据
2) 对开发人员的开发水平要求高
3) 相对于Http协议传输,增加了开发量
1.2 基于Http协议传输的定义和其特点
目前基于http协议传输的主要有http协议 和基于http协议的Soap协议(web service),常见的方式是 http 的post 和get 请求,web 服务。
基于http协议的传输特点
优点:
1) 基于应用级的接口使用方便
2) 程序员开发水平要求不高,容错性强
缺点:
1) 传输速度慢,数据包大(Http协议中包含辅助应用信息)
2) 如实时交互,服务器性能压力大。
3) 数据传输安全性差
2 各数据传输方式的适用范围
2.1 Socket传输适用范围
基于Socket传输的特点:Socket 传输方式适合于对传输速度,安全性,实时交互,费用等要求高的应用中,如网络游戏,手机应用,银行内部交互等
2.2 基于Http协议传输的适用范围
基于http协议传输的特点:基于http协议传输方式适合于对传输速度,安全性
要求不是很高,且需要快速开发的应用。如公司OA系统,互联网服务等。