网络协议学习

十七.网络协议学习笔记 WS_HTTPDNS_FTP_邮件

2021-08-16  本文已影响0人  crazyfox

ICMP Internet Control Message Protocol 互联网控制消息协议

IPv4中ICMP称为ICMPv4,IPv6中ICMP称为ICMPv6
用于返回错误消息
TTL值过期,目的不可达

HTTP请求特点

只能客户端发起,所以起初的推送都是用轮询来实现

浏览器每过一段时间,发送请求最新消息

为了节省流量和服务器资源,并且能实时通讯,html5规范中出现了websocket

WebSocket

全双工

应用场景多

HTTP vs WebSocket

1.都是应用层协议

tcp本来就是全双工

http的请求-应答模式,限制了tcp的功能

2.websocket使用80,443(ws://wss://)绕过了大多数防火墙

3.与http不同,websocket需要先建立连接 upgrade

这就使得WebSocket成为一种有状态的协议,之后通信时可以省略部分状态信息

而HTTP请求可能需要在每个请求都额外携带状态信息(如身份认证等)

建立连接

WebSocket需要借助HTTP协议来建立连接(也叫作握手,Handshake) 由客户端(浏览器)主动发出握手请求

Connection必须设置Upgrade

表示客户端希望连接升级

Upgrade必须设置websocket

表示希望升级到WebSocket协议

Sec-WebSocket-Version

表示支持的Websocket版本

RFC 6455要求使用的版本是13

建立连接

Sec-WebSocket-Key是客户端生成的随机字符串,比如例子中的

服务器接收到客户端的Sec-WebSocket-Key后,会进行以下操作

① Sec-WebSocket-Key加上一个固定的GUID值(258EAFA5-E914-47DA-95CA-C5AB0DC85B11)

② 将①的结果进行SHA-1摘要计算

b37a4f2cc0624f1690f64606cf385945b2bec4ea

③ 将②的结果进行Hex To Base64编码

s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

④ 将③的结果做为Sec-WebSocket-Accept响应头的值,返回给客户端

如此操作,可以尽量避免普通HTTP请求被误认为WebSocket协议

WebService

Web服务,是一种跨编程语言和跨操作系统平台的远程调用技术标准

核心概念

SOAP(Simple Object Access Protocol),译为:简单对象访问协议

很多时候,SOAP = HTTP + XML

WebService使用SOAP协议来封装传递数据

WSDL(Web Services Description Language),译为:Web服务描述语言

一个XML文档,用以描述WebService接口的细节(比如参数、返回值等)

一般在WebService的URL后面跟上?wsdl获取WSDL信息

✓ 比如:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl

HTTPDNS

基于HTTP协议向DNS服务器发送域名解析请求

FTP

两个连接

邮件

发邮件

SMTP 简单邮件传输协议

基于TCP 25端口 TLS465

收邮件

POP 邮局协议

基于TCP 110端口 TLS 995

IMAP

POP下载所有邮件

IMAP拉取摘要

上一篇 下一篇

猜你喜欢

热点阅读