T O P
Image

Other

互联网常用协议的理解

对HTTP、TCP、UDP,Socket,HTTPS的理解

  • By - C灵C

  • 2019年7月15日 23:48





TCP   HTTP   UDP三者的关系如下:


TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。


在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。


在传输层中有TCP协议与UDP协议。


在应用层有HTTP,FTP、TELNET、SMTP、DNS等协议。




HTTP全称是HyperText Transfer Protocal,即:超文本传输协议,HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。




HTTPS通信原理

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道

HTTPS是HTTP over SSL/TLS,HTTP是应用层协议,TCP是传输层协议,在应用层和传输层之间,增加了一个安全套接层SSL/TLS:


SSL (Secure Socket Layer,安全套接字层)


TLS (Transport Layer Security,传输层安全协议)


SSL使用40 位关键字作为RC4流加密算法


Https的作用

内容加密 建立一个信息安全通道,来保证数据传输的安全;


身份认证 确认网站的真实性


数据完整性 防止内容被第三方冒充或者篡改




Https和Http的区别


https协议需要到CA申请证书。


http是超文本传输协议,信息是明文传输;https 则是具有安全性的ssl加密传输协议。


http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。


http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。


http默认使用80端口,https默认使用443端口


TCP:传送控制协议(Transmission Control Protocol)


UDP:用户数据报协议 (UDP:User Datagram Protocol) 


socket: 


这是为了实现以上的通信过程而建立成来的通信管道,其真实的代表是客户端和服务器端的一个通信进程,双方进程通过socket进行通信,而通信的规则采用指定的协议。


socket只是一种连接模式,不是协议,socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),


通过Socket,我们才能使用TCP/IP协议。tcp、udp,简单的说(虽然不准确)是两个最基本的协议,


很多其它协议都是基于这两个协议如,http就是基于tcp的,.用socket可以创建tcp连接,也可以创建udp连接,


这意味着,用socket可以创建任何协议的连接,因为其它协议都是基于此的。

httpudp.png



Socket 传输的特点:


   优点


 1)  传输数据为字节级,传输数据可自定义,数据量小(对于手机应用讲:费用低)


 2)传输数据时间短,性能高


 3)适合于客户端和服务器端之间信息实时交互


 4)可以加密,数据安全性强



   缺点:


1)需对传输的数据进行解析,转化成应用级的数据


2)对开发人员的开发水平要求高


3)相对于Http协议传输,增加了开发量


 


 基于Http协议传输的定义和其特点


      


基于http协议的传输特点


优点:


1)基于应用级的接口使用方便


2)程序员开发水平要求不高,容错性强


   缺点:


1)传输速度慢,数据包大(Http协议中包含辅助应用信息)


2)如实时交互,服务器性能压力大。


3)数据传输安全性差




 各数据传输方式的适用范围


 2.1 Socket传输适用范围


 基于Socket传输的特点:Socket 传输方式适合于对传输速度,安全性,实时交互,费用等要求高的应用中,如网络游戏,手机应用,银行内部交互等



 2.2 基于Http协议传输的适用范围


       基于http协议传输的特点:基于http协议传输方式适合于对传输速度,安全性 要求不是很高,且需要快速开发的应用。如公司OA系统,互联网服务等。