请熟记网络三剑客

image.png

1,输入URL后都发生了什么

(1)DNS解析

  • 1,浏览器DNS缓存:首先会向浏览器的缓存中读取上一次访问的记录
  • 2,计算机DNS缓存:查找存储在系统运行内存中的缓存。
  • 3,路由器DNS缓存:有些路由器也有DNS缓存的功能,访问过的域名会存在路由器上。
  • 4,网络运营商DNS缓存:互联网服务提供商也会提供DNS服务
  • 5,递归查询查找 a.b.c.d.com

(2)TCP连接

  • 第一次握手:浏览器发送给服务器,告诉服务器我准备好了,将要发送请求 syn
  • 第二次握手:服务器发送给浏览器,告诉浏览器我也准备好了,需要再次确认syn + ack
  • 第三次握手:浏览器发送给服务器,告诉服务器确认完毕,马上发送请求 ack

(3)HTTP请求

  •  1,浏览器就会向服务器发送HTTP请求,来请求服务器端的数据包。
    复制代码
  •  2,可使用构建工具优化性能: 减少请求次数,减少单次请求花费时间。
    复制代码

(4)HTTP响应

  • Connection 使用keep-alive特性
  • Content-Encoding 使用gzip方式对资源压缩
  • Content-type MIME类型为html类型,字符集是 UTF-8
  • Date 响应的日期
  • Server 使用的WEB服务器
  • Transfer-Encoding:chunked 分块传输编码 是http中的一种数据传输机制(HTTP/1.1)中提供

(5)浏览器解析与渲染

  • 1,调用html解析器将HTML解析成DOM树
  • 2,调用css解析器将CSS解析成CSSOM树
  • 3,调用js引擎解析js代码。
  • 4,如果修改了DOM节点,就会重新解析成DOM树
  • 5,如果修改了CSS节点,就会重新解析成CSSOM树
  • 6,将DOM + CSSOM = render树
  • layout布局 render渲染

(6)TCP四次挥手断开

  • 第一次挥手:浏览器发送给服务器,告诉服务器请求报文发送完毕
  • 第二次挥手:服务器发送给浏览器,告诉浏览器请求报文接受完毕,等待断开
  • 第三次挥手:服务器发送给浏览器,告诉浏览器响应报文发送完毕
  • 第四次挥手:浏览器发送给服务器,告诉服务器响应报文接受完毕,断开连接了

2,http与https的区别

  1. 安全性上,HTTPS是安全超文本协议,在HTTP基础上有更强的安全性。简单来说,HTTPS是使用TLS/SSL加密的HTTP协议
  2. 申请证书上,HTTPS需要使用ca申请证书
  3. 传输协议上, HTTP是超文本传输协议,明文传输;HTTPS是具有安全性的 SSL 加密传输协议
  4. 连接方式与端口上,http的连接简单,是无状态的,端口是 80; https 在http的基础上使用了ssl协议进行加密传输,端口是 443

3,post与get的区别和其它请求方式

  1. 请求缓存:GET 会被缓存,而post不会
  2. 收藏书签:GET可以,而POST不能
  3. 保留浏览器历史记录:GET可以,而POST不能
  4. 用处:get常用于取回数据,post用于提交数据
  5. 安全性:post比get安全
  6. 请求参数:querystring 是url的一部分get、post都可以带上,post的参数是放在body,唯一性!

请求参数长度限制:get请求长度最多1024kb,post对请求数据没有限制

  1. GET: 完整请求一个资源 (常用)
  2. POST:提交表单 (常用)
  3. HEAD: 仅请求响应首部
  4. PUT: (webdav) 上传文件(但是浏览器不支持该方法)
  5. DELETE:(webdav) 删除
  6. OPTIONS:返回请求的资源所支持的方法的方法
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享