


文章目录
一、IO多路复用
一个线程一时连接管理着多个socket 通过操作系统****全局地同时监听所有socket的IO状态 地 同时等待多个连接 选出其一最早有数据 的 绕阻非顺地一个个执行
二、网络数据包处理的细节
- 一个线程在 同一瞬间 只能在执行某一行
- 多个客户端发送 多个请求 可以同一时刻到达服务器
- 网卡一个个地接收
- 内核放进各自socket的接收缓冲区
- epoll一次告诉线程 各个socket的IO状况
- 线程 ****IO复用地 选择接收缓冲区有请求数据的socket ,一个个地处理写入它们socket的发送缓冲区
- 操作系统有一好就发它 地 通过网卡返回响应
三、应用层协议
1.单元信息表示方式
1.1行文本
分隔符 + 值内容
|--------------------------------|
| 麦当劳, 商家图片3.jpg, 5.0, 10, 快餐\n |
1.2html
成对起始 固定键说明 + 成对<>分隔符 + 值内容
html
<table border="1">
<tr>
<td>商家名称</td>
<td>图片</td>
<td>评分</td>
<td>销量</td>
<td>分类</td>
</tr>
<tr>
<td>麦当劳</td>
<td><img src="商家图片3.jpg" width="80"></td>
<td>5.0</td>
<td>10</td>
<td>快餐</td>
</tr>
</table>
1.3xml
成对起始 自定义键说明 + 成对<>分隔符 + 值内容
XML
<merchant>
<name>麦当劳</name>
<image>商家图片3.jpg</image>
<score>5.0</score>
<sales>10</sales>
<category>快餐</category>
</merchant>
1.4json
一个自定义键说明 + 分隔符 + 值内容
javascript
{
"name": "麦当劳",
"image": "商家图片3.jpg",
"score": 5.0,
"sales": 10,
"category": "快餐"
}
1.5protobuf
二进制值内容
2.现成协议
2.1HTTP协议
约定 在应用层 构成网页的 数据格式
- 请求和响应****一一对应
- 文本内容 、html单元信息
四、代理
中间 的代理 参与两者的发接工作
五、抓包
抓包工具可以抓取 网络数据包的各部分
六、爬虫
抓包抓住请求响应 自己仿造发送
