摘要:
浏览器基础结构主要包含七个部分: 用户界面:用户所看到的内容和与之交互的功能组件,比如按钮、表单等等 浏览器引擎:负责控制和管理下一级的渲染引擎 渲染引擎:解析用户请求的内容并返回 网络:负责处理网关相关事宜,比如http服务 UI后端:负责绘制一些提示框等UI组件,底层使用的是操作系统的用户接口 阅读全文
摘要:
什么是粘包和拆包? 当发送包同时发送两个数据包时,接收包只收到了一个数据包,其中包含了两个数据包的信息,这种现象为粘包。这种情况下,接收方无法分清两个数据包的界限,很难处理 当发送包同时发送两个数据包时,接收方也收到了两个数据包。但是这两个数据包,一个是不完整的,一个是多出来一块,这种现象为拆包。 阅读全文
摘要:
客户端建立连接和关闭连接的状态流程 CLOSED --> SYN_SEND --> ESTABLISHED --> FIN_WAIT_1 --> FIN_WAIT_2 --> TIME_WAIT --> CLOSED 服务端建立连接和关闭连接的状态流程 CLOSED --> LISTEN --> S 阅读全文
摘要:
慢开始与拥塞避免算法(TCP Tahoe版本) 在分析慢开始和拥塞避免进行拥塞控制之前,需要先了解几个变量 慢开始门限值、拥塞窗口、发送窗口。发送窗口的值等于拥塞窗口的值,当拥塞窗口值小于慢开始门限值时,采用慢开始算法;当拥塞窗口值等于慢开始门限值时,可以采用慢开始算法或者拥塞避免算法;当拥塞窗口值 阅读全文
摘要:
当建立了TCP连接后,接收方会根据自己的窗口大小对发送方进行流量控制。以实现对发送方发送速率的控制,使接收方可以接收到。 下面假设A方为发送方,B方为接收方。A方有1-900子节的数据,每100位放到一个子节段 首先B方向A方发送一个rwnd包,其中包含其窗口大小300 此后A方可以在收到确认之前, 阅读全文
摘要:
以第一个数值进行分类 1xx 返回信息,服务端收到请求,需要客户端继续执行操作 100 客户端应继续其请求 101 切换协议,服务端根据客户端的请求切换协议,只能切换到更高级的协议 2xx 成功,请求被成功接收并处理 200 请求成功,一般用于get或post请求 201 已创建,成功请求并创建了新 阅读全文