浏览器抓取网页(浏览器向主机发起一个HTTP-GET方法请求请求)
优采云 发布时间: 2021-10-23 13:14浏览器抓取网页(浏览器向主机发起一个HTTP-GET方法请求请求)
浏览器向主机发起 HTTP-GET 方法消息请求。请求中收录访问的URL,即KeepAlive、长连接,以及User-Agent用户浏览器操作系统信息、编码等。
第五步:有些服务会做永久重定向响应
对于大型网站有多个宿主站点,负载均衡或者导入流量提高SEO排名,往往不是直接返回请求页面,而是重定向。返回的状态码不是200OK,而是301302以3开头的重定向码。浏览器得到重定向响应后,在响应消息的Location项中找到重定向地址,浏览器就可以在第一步重新访问。
重定向的作用:重定向是负载均衡或导入流量,提高SEO排名。使用前端服务器接受请求,然后加载到不同的主机上,可以大大提高站点的并发处理能力;重定向还可以将多个域名的访问集中到一个站点;因为,它会被搜索引擎认为是两个网站,每个中的链接数都会减少,从而降低排名。永久重定向会将两个地址关联起来,搜索引擎会考虑相同的网站以提高排名。
第 6 步:浏览器跟踪重定向地址
浏览器知道重定向后的最终访问地址后,再次发送与上述内容相同的http请求。
第七步:服务器处理请求
服务器接收获取请求,然后对其进行处理并返回响应。
第 8 步:服务器发出 HTML 响应
返回状态码200 OK,表示服务器可以响应请求并返回消息。由于标题中的 Content-type 是“text/html”,浏览器将其呈现为 HTML,而不是下载文件。
第九步:释放TCP连接
浏览器所在的主机向服务器发送连接释放消息,然后停止发送数据;
服务器收到释放消息后发送确认消息,然后将未完成的数据发送到服务器上;
服务器数据传输完成后,向客户端发送连接释放消息;
客户端收到消息后,发送确认,然后等待一段时间,才释放TCP连接;
第十步:浏览器显示页面
当浏览器还没有完全接受所有的 HTML 文档时,它就已经开始显示这个页面了。浏览器接收返回的数据包,根据浏览器的渲染机制渲染相应的数据。渲染数据后,进行相应的页面呈现和脚步交互。
第11步:浏览器发送以获取嵌入HTML的其他内容
比如一些样式文件、图片url、js文件url等,浏览器会通过这些url重新发送请求。请求过程仍然是类似于HTML读取、查询域名、发送请求、重定向等的过程,但是这些静态文件可以缓存在浏览器中,有时访问这些文件不需要经过服务器,但直接从缓存中获取。一些 网站 也使用第三方 CDN 来托管这些静态文件。