一、Web请求过程剖析
简单点讲,Web请求过程其实就是我们通过浏览器输入某一个网址(比如https://www.baidu.com),然后敲击回车,之后浏览器会将请求发送给网站的服务器,服务器再通过一系列处理后将结果返回给浏览器。
在浏览器发送的请求中,网址(url)是最为基本的参数,可我们在大多数情况下不只是需要打开这个网址,而是需要在其中搜索查找一些资料,因此会在输入框或者其他地方继续输入一些关键字,而这些关键字也将成为请求中携带的参数。
但是有时候我们会遇到一种情况,就是在发送某个请求之后,得到的数据或者说得到的结果并不是我们想要的,可是在浏览器中的的确确存在这些数据。为什么呢?这就涉及到了两个比较重要的概念——服务器渲染和客户端渲染。
1.服务器渲染
服务器渲染就是服务器接收到来自浏览器(客户端)发送的网址请求后,直接把数据和 HTML 整合在一起,统一发给浏览器。
2.客户端渲染
客户端渲染就是浏览器(客户端)发送第一次请求——只需要一个 HTML 骨架,然后服务器就返回给浏览器一个 HTML 骨架,之后发送第二次请求——需要拿到相关的数据,服务器就再将数据返回给浏览器,最后浏览器自己将数据和 HTML 骨架整合在一起,进行数据展示。
3.区别
服务器渲染和客户端渲染最本质的区别就是谁来完成 HTML 和数据的完整拼接,服务器渲染是在服务器生成的 DOM树 ,客户端渲染是在客户端生成的DOM树。(至于DOM树是什么,这里就不做过多的解释了)
而二者最直观的区别就是网页源码中是否存在数据,存在数据就是服务器渲染,不存在数据就是客户端渲染。
二、浏览器抓包工具的使用
在浏览器任意一个网页,按F12键打开开发人员工具。(我使用的是Edge浏览器,所以开发人员工具是中文)
之后我们打开名称列的第一行,可以看到
标头界面中有我们之后写代码需要用的一些参数,像 url 、User-Agent之类的,然后预览界面的话看到的是不包含数据的 HTML骨架。
我们简单的对开发人员工具进行了了解,至于其他选项的话,我们之后学到的时候具体再看。