美文网首页
浏览器发送网络请求的响应流程

浏览器发送网络请求的响应流程

作者: 大大da哈哈 | 来源:发表于2019-06-01 19:53 被阅读0次

浏览器窗口输入网络地址,服务区会返回给我们相关的信息,具体的响应流程

1 用户在浏览器窗口输入网络请求地址

2浏览器会对用户输入的网络请求地址进行解析,得到请求协议类型 域名  端口号  以及请求路径

3 此时浏览器会先查看自己的本地缓存(浏览器的缓存),如果有这个域名就会得到该域名对应的IP,如果没有浏览器会发起一个DNS系统调用,告诉操作系统要请求的网络地址,操作系统会先检查自己的缓存中有没有这个域名对应的IP.

4 DNS系统调用

        如果操作系统中没有此域名对应的缓存,那么操作系统会检查自己的hosts文件中有没有自己的域名,如果hosts文件中也没有此域名,那么系统会对DNS服务器发起一个系统调用.DNS服务器是宽带运营商分配的一个IP地址.

5 DNS服务器

        DNS服务器的工作流程(以GitHub.com网络请求为例):DNS服务器会告诉系统com域的IP,然后系统去com域中查询GitHub.com的IP.域用的越深,那么查询的次数也就越多,时间也就越久(纳秒级别的差距,因为DNS查询特别快).

6 DNS系统调用结束

        DNS系统调用结束,浏览器得到对应的IP,此时浏览器中有(协议类型   IP  端口号   路径)

7 浏览器会通过一个本地的随机端口,建立一个与服务器指定端口之间的连接通道.

8  浏览器将需要发送到服务器的信息打上一个"包"(请求报文),将这个"包"通过连接通道发送到服务端.浏览器调试时,Request Headers 里面的view parsed就是发送的包信息.

9  web服务器(以Apache为例)   

        监听服务器端指定端口的服务器,会接收到浏览器发送过来的"包".服务器将浏览器发送过来的"包"打开,得到"包"里的请求路径.此时服务器会根据网络请求的路径中对应的文件扩展名找到文件的类型(MIME Type   application/JavaScript等 ),然后判断文件类型是否为静态文件,如果是静态文件就直接读取文件中内容,并将文件返回,如果不是静态文件,就交给相应的模块进行处理(Apache配置文件中PHP文件有PHP模块进行处理),PHP会读取自己能处理的动态文件中的代码,并且执行代码,然后将结果返回给Apache.

10  服务器拿到要返回给浏览器的数据

            服务器会把将要发送给客户端的数据打上一个"包"(响应报文),然后通过之前已经建立的连接通道将数据发送给客户端.

11浏览器拿到服务器返回的'包'

            浏览器调试窗口   network 中response  Headers中的view source就是浏览器拿到的'包',但是具体的返回信息(用户可以看到的信息/浏览器需要渲染东西)是在response中,是一个html文件.

            浏览器打开服务器返回的'包',找到Content-Type,然后根据Content-Type决定如何处理响应的内容(按照Content-Type指定的方式进行渲染).

以上就是浏览器输入网址后,整个的网络请求流程,不足之处,请多多指教!

相关文章

  • 爬虫的概念

    爬虫是模拟浏览器发送请求,获取响应 爬虫的流程 url--->发送请求,获取响应--->提取数据---》保存数据 ...

  • 浏览器发送网络请求的响应流程

    浏览器窗口输入网络地址,服务区会返回给我们相关的信息,具体的响应流程 1 用户在浏览器窗口输入网络请求地址 2浏览...

  • 从URL输入到页面展现

    一、web流程 用户请求资源 浏览器打包用户请求并发送 服务器根据资源路径及参数,产生响应发回给浏览器 浏览器解析...

  • 从输入URL到页面展示的详细过程

    大致流程 输入网址 DNS解析 建立tcp连接 客户端发送HTTP请求 服务器处理请求 服务器响应请求 浏览器显示...

  • 爬虫福利二 之 妹子图网MM批量下载

    展开 爬虫的基本流程: 模拟浏览器向目标url发送请求,并获取响应 对响应中有用的内容进行提取 如果提取url,则...

  • 02-发送请求-request基本使用

    requests作用 发送网络请求,返回响应数据requests中文文档 发送get请求发送带header的请求发...

  • 爬虫基础知识

    一、定义 网络爬虫就是模拟浏览器发送网络请求,接受请求响应,一种按照一定的规则,自动的抓取互联网信息的程序。 原则...

  • 爬虫-原理和流程

    爬虫原理 模拟浏览器发送网络请求,接收请求响应 爬虫分类 通用爬虫:搜索引擎的爬虫聚焦爬虫:针对特定网站的爬虫积累...

  • AJAX 网络编程与 Axios 库

    AJAX 在浏览器端进行网络编程(发送请求、接收响应)的技术方案 以通过 JavaScript 直接获取服务端最新...

  • HTTP协议

    一、HTTP协议 二、请求流程 搜集数据 生成http请求报文 发送请求报文 接收响应报文 解析响应报文 展现结果

网友评论

      本文标题:浏览器发送网络请求的响应流程

      本文链接:https://www.haomeiwen.com/subject/qlwatctx.html