目标:做一个玩具浏览器,完全用JavaScript实现

输入url敲回车发生了什么?

浏览器.png

  1. url 经过http请求 ,回来html代码
  2. 进行parse 解析
  3. 产生DOM数,把css规则应用上去
  4. 对他进行排版
  5. 带位置DOM数,渲染
  6. 内存里的图片,展示

ISO-OSI七层网络模型

ISO-OSI.png
浏览器在 TCP 上层, TCP中包含的 require(“net”)

TLS SSL在传输层

网络有个感性认知,不用深究
image.png
TCP沾包问题,为什么会有这个问题呢?TCP是流不是传输,标识TCP的是端口,在node里用require(‘net’) 流传输

IP有包的概念,标识IP的是IP地址 c++ libnet/libpcap 会受到不属于自己的包

HTTP:

  • Request
  • Respone