WebSocket
定义:是基于TCP的全双工通信的应用层协议,客户端、服务端任何一方都可以主动发消息给对方
应用:体育实况更新、多玩家游戏、社交订阅等
WebSocket需要借助HTTP协议来握手,请求头中需要加入4个必须的字段:
Connection:Upgrade表示客户端希望连接升级
Upgrade:WebSocket表示希望升级到WebSocket协议
Sec-WebSocket-Version:13表示支持的WebSocket的版本
Sec-WebSocket-Key:QfwhogefhuvaqewfnBvd客户端随机生成的字符串
WebService
想开放部分服务器里的数据时用的协议,如天气预报、航班信息查询等
RESTful
是一种互联网软件架构设计风格
HTTPDNS
定义:基于HTTP协议向DNS服务器发送域名解析请求
可以避免Local DNS造成的域名劫持和跨网访问问题
常用在移动互联网中
FTP
文件传输协议,是基于TCP的应用层协议
FTP有2种连接模式:
1)主动连接
①C打开一个随机的命令端口N(N>1024),同时连接到服务器的命令端口21
②客户端开始监听N+1端口,给服务器的21端口发送一个Port命令(C正在监听N+1并通过N+1端口接收数据)
③服务器打开20端口和客户端的N+1窗口创建连接(服务器主动连接)
21和N是控制连接。用于传输状态信息
20和N+1是数据连接,用来传输文件
2)被动连接
①C的命令端口N连接S的命令端口21
②C通过命令端口N发送PASV命令给S的命令端口21
③S打开一个随机的数据端口P,并告知C
④C的N+1端口发起与S的数据端口P连接(服务器被动连接)
21和N是控制连接。用于传输状态信息
P和N+1是数据连接,用来传输文件
收邮件用到的协议——POP、IMAP
POP:邮局协议,基于TCP,服务器默认端口是110,SSL/TLS使用995端口
IMAP:因特网信息访问协议,基于TCP,服务器默认端口是143,SSL/TLS使用993端口
POP VS IMAP:
POP——客户端连接服务器时,将会从服务器下载所有邮件,客户端的操作不会跟服务器同步,每个客户端是独立的
IMAP——客户端连接服务器时,获取的是服务器上邮件的基本信息,并不会下载邮件,等打开邮件时才开始下载邮件,客户端的操作会和服务器同步,每个客户端不是独立的,会看到相同的邮件
发邮件用到的协议——SMTP
SMTP:简单邮件传输协议,基于TCP,服务器默认端口是25,SSL/TLS使用465端口
IPv6
IPv6地址为128bit,每16bit一组,共8组
每组前面连续的0可以省略,可以用双冒号“::”表示一组连续或多组连续的0,但只能出现一次
::1是环回地址
IPv6有40个字节的固定首部
IM
即使通信协议,平时用的QQ、微信属于典型的IM应用
即时通信——XMPP
可扩展消息与存在协议,基于TCP,默认端口是5222、5269(两个端口是因为1个要和服务器交流,1个和客户端交流)
即时通信——MQTT
消息队列遥测传输,基于TCP,默认端口是1883、8883
最适合物联网的网络协议
流媒体
将一连串多媒体数据如视频压缩后,经过互联网分段发送数据,拿到1小个片段就可以播放这一小个片段,不用等到拿到整个视频才开始播放
VPN
VPN和代理服务器的区别:
VPN一般需要安装VPN客户端软件,代理不需要
VPN默认会对数据加密,代理默认不会(取决于协议本身)
VPN比代理贵