一个HTTP请求的猜想
Client:
1. Firefox 等是工具,用来调用OS的函数,生成HTTP数据
2. HTTP数据传递到TCP层,加端口号,如8080
3. TCP数据传到IP等,加IP,如: 192.168.1.1:8080
4. IP层数据传到链路层,加MAC地址, 如 xx.xx.xx.xx
5. 链路层数据调用路由器网络函数,将数据发送到网络,并经过网络设备和协议传送到Server的 port 端口,如 server:8080
Server:
6. Server的OS接到网络数据包反向解析出链路层数据(MAC),IP层数据库(192.168.1.1),TCP层数据(8080)
7. OS会有函数一直扫描port端口(8080)
8. Servlet容器(jetty)会一直while(true)方式通过JVM调用OS的扫描函数,发现有数据了,就调用servlet相关逻辑处理
9. 处理后的数据(response) 再反向通过网络传递给客户端,如firefox