1. 2.9 HTTP缓存historical

    1. 什么是HTTP缓存 - 浏览器端的缓存 2. 为什么需要HTTP缓存 - HTTP是无状态的,优点在于可扩展,缺点在于需要发送重复数据导致网络性能降低 3. HTTP缓存分类 3.1. 状态缓存 - 不经过服务器,直接根据缓存信息对目标网络的状态判断 3.1.1. 301/302 - 缺点:通过301/302跳转HTTPS时可能产生的降级中间人劫持

  2. 2.10 HTTP超时historical

    1. 什么是HTTP超时 - Connection、Read、Write任意一个超过一定的时间就会发生超时 2. 参考 - HTTP 在什么情况下会请求超时? - 知乎

  3. 2.11 Restfulhistorical

    1. 什么是Restful - 基于HTTP协议的软件架构设计风格 - Resource Representational State Transfer 1.1. Resource 资源。使用URI定位资源 1.2. Representational 表现层。可以是txt、json等格式。

  4. 2.12 URL编码historical

    1. 为什么需要URL编码 URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。如果是其他字符需要转义,%字符编码 2. 如何编码 - 路径中:用的是utf-8编码 - get query param中:用的是操作系统的默认编码 需要使用encodeURI进行编码 3. 参考

  5. 2.13 cookie和sessionhistorical

    1. cookie+session工作机制 浏览器访问服务端, 服务端生成session代表会话,生成sessionid标识这个会话并把sessionid设置到cookie中返回给浏览器 浏览器每次访问服务器都会带上cookie,其中有sessionid 服务器拿到sessionid后就能知道是哪个用户访问的 2. cookie vs session

  6. 2.14 在浏览器地址栏输入一个URL后回车historical

    1. 简述过程 1. 解析URL 比如 https://www.baidu.com 或者 https://www.baidu.com/ - https://www.baidu.com/index.html ,而 https://www.baidu.com/dir 则会先找是否有dir的文件,没有的话找目录 1. DNS域名解析 DNS.md 2. 3次握手建立TCP连接 TCP三次握手.md ARP.md IP协议.md 3. 如果是HTTPS的话还要建立HTTPS连接 HTTPS.md

  7. 2.15 浏览器同源策略以及跨域historical

    1. 什么是同源 两个URL的 (协议,主机,端口) 三元组相同的话就叫做同源 下表给出了相对http://store.company.com/dir/page.html同源检测的示例 2. 什么是跨域 当前页面的javascript访问了非同源的资源,就叫做跨域 3. 跨域资源限制 4. 如何解决跨域问题 使用CORS。

  8. 4.1 应用层historical

    1. 应用层协议 1.1. HTTP HTTP.md 1.2. DNS DNS.md

  9. 5.1 网络层historical

    1. 网络层设备 路由器 2. 网络层协议 2.1. IP IP协议.md 2.2. NAT NAT.md 2.3. ICMP ICMP.md 2.4. ARP ARP.md

  10. 5.2 ARPhistorical

    1. ARP是什么 完成IP地址- MAC地址的转换的网络层协议 2. 为什么需要ARP 解决下一跳走哪的问题 3. ARP过程 1. 看ARP高速缓存有没有,有则使用这个MAC地址,没有则需要查找 2. 查找的话使用MAC地址 FF-FF-FF-FF-FF-FF 1. 广播ARP请求,同一局域网内