Moosphan / Android-Daily-Interview

:pushpin:每工作日更新一道 Android 面试题,小聚成河,大聚成江,共勉之~

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

2019-06-18:说一说https,udp,socket区别?

MoJieBlog opened this issue · comments

2019-06-18:说一说https,udp,socket区别?

TCP(Transmission Control Protocol,传输控制协议)与UDP(User Data Protocol,用户数据协议)是互联网传输数据较为常用的协议,我们熟知的HTTP就是基于TCP的.

而HTTPS就是HTTP 加上SSL的加密方式:

UDP是非面向连接的协议,发送数据时不管对方状态直接发送,无需建立连接,如同微信发送一个消息或者语音信息,对面在不在线无所谓.

Socket不属于协议范畴,别名套接字通过调用Socket,才能使用TCP/IP协议,Socket连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。Socket连接属于请求-响应形式,服务端可主动将消息推送给客户端。

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可以创建任何协议的连接,因为其它协议都是基于此的。

http是超文本传输协议,明文信息传输;https是安全超文本传输,具有ssl加密性。
http和https使用的是连接方式不同,端口号也不一样,http是80,https是443.
http连接很简单,是无状态的;https协议是有ssl+http协议构建的可进行加密传输、需要身份认证的网络协议,比http协议安全,并且数据完整性。
TCP:传送控制协议
udp:用户数据包协议
tcp、udp属于运输层
socket:俗称套接字;不属于协议范围内,只用通过socket才能使用tcp与ip协议,socket本身不是协议,而是一个调用接口api
http是基于tcp的,用socket可以创建tcp连接,也可以创建udp连接。意味着,用socket可以创建任何协议的连接,因为其他协议都是基于它。

https是http协议+ssl加密构建的,http基于tcp进行数据传输
tcp与udp都属于运输层,两种链接方式不同,tcp是面向连接的,可靠地,udp是无连接的不可靠的传输
socket是套接字不属于协议范围,但socket可以创建连接,创建的是长连接,保持客户端与服务端。