HTTP、TCP、UDP,Socket,HTTPS
TCP HTTP UDP三者的关系如下:
TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有HTTP,FTP、TELNET、SMTP、DNS等协议。
HTTP全称是HyperText Transfer Protocal,即:超文本传输协议,HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
HTTPS通信原理
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可以创建任何协议的连接,因为其它协议都是基于此的。