web性能权威指南

打工者联盟为了抵抗996、拖欠工资、黑心老板、恶心公司,让我们组成打工者联盟。客观评价自己任职过的公司情况,为其他求职者竖起一座引路的明灯。https://book.employleague.cn/

一,延迟与宽带

网站越快,用户的粘性越高

网站越快,用户忠诚度越高

网站越快,用户转化率越高。

延迟:分组从信息源发送到目的地所需的时间。

宽带:通讯路径最大的吞吐量

二,TCP

SYN:客户端选择一个随机序列号x,并发送一个SYN分组,其中可能还包括其他TCP标志和选项。

SYN ACK:服务器给x加1,并选择自己的一个随机序号y,追加自己的标志和选项,然后返回相应。

ACK:客户端给x和y加1并发送握手期间的最后一个ACK分组。

流量控制:TCP连接的每一方都要告知自己的接收窗口(rwnd)。

慢启动:指数增长。

队首阻塞:按序发送TCP分组,中途有一个分组没能到接收端会发生TCP阻塞。发生在TCP层。

TCP影响性能因素:

1.TCP三次握手

2.TCP慢启动

3.TCP拥塞窗口大小

三,UDP

“”UDP仅仅是在IP层上通过嵌入应用程序的源端口和目标端口,提供了一个“应用程序多路复用”机制”

UDP是一个简单,无状态的协议。

特点:1.不确认,不重传,无超时。2.不设置包序。3.不设置拥塞控制。

NAT穿透问题:NAT设备依赖连接状态,UDP没有状态。UDP没有握手,没有终止,没有监控的连接状态机。P2P通信不清楚双方的内网和外网IP地址。

解决难穿透问题:STNU  TURN  ICE

STNU:两端请求STNU服务器获取外网IP地址和端口号。再用外网信息通讯(个别有防火墙可屏蔽)。

TURN:中继服务器。

ICE:先STNU不行,再TURN。

优化建议:

1.控制传输速度

2.拥塞设计

3.丢包处理

等等

四,HTTP1.0 1.1 2.0

http0.9:get请求  支持返回ASCII字符流(HTML),Nginx支持。

http1.0:有多行请求头,相应状态,响应头,数据格式多多,连接中断。

http1.1:基础上 编码  字符集  cookie 缓存指令。

http2.0:提高传输性能,低延迟  高吞吐量。

五,XMLHttpRequest

1.浏览器管理着连接建立,套接字池和连接终止;

2.浏览器决定用 1.0 1.1 2.0 哪种协议传输;

3.处理HTTP缓存,重定向和内容类型协商;

4.安全,隐私;

跨源资源共享(CORS)

浏览器沙箱设计同源策略 保护 认证令牌 cookie 和其他私有元素。浏览器不同源的访问直接拒绝。

浏览器自动解码类型:ArrayBuffer,Blob,Document,JSON,Text。

实时通知与交付实现方式:

1.XHR轮询

2.XHR长轮询

3.SSE方式(服务器发送事件)

六,Websocket

websocket是浏览器中最通用最灵活的传输机制。支持文本和二进制数据。顺序传输。

支持子协议

七,WebRTC

Web实时通讯技术,用户实现浏览器之间(端到端)的音频,视频。

三个主要API: MediaStream 获取音频视频。RTCPeerConnection 音频和视频通信。RTCDataChannel 数据通讯。                                                                                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值