浏览器地址栏按回车发生了什么事情

1、查找域名对应的ip地址

  首先去浏览器缓存中找,如果不久前刚刚输入过,那么在缓存会留下ip地址,缓存周期一般在几分钟到半小时

  查找系统缓存(host文件),浏览器进行系统调用(windows中是gethostbyname)

  查找路由缓存,前两步都不需要网络,这里需要用到网络,路由器上有自己的DNS缓存,这是ISP互联网提供商在路由器留下的DNS缓存

  递归查找ISP的DNS服务器 (这才是真正的第三方DNS服务器)

  本地域名服务器向根域名服务器的查询是迭代查询。

2、浏览器和服务器经过三次握手建立TCP连接

  浏览器发送请求报文,服务器确认请求并返回给浏览器确认信息,浏览器收到确认信息,再发一次请求告诉服务器收到刚才的服务器确认信息。建立通信

  

引申:为什么要有第三次握手,防止已失效的请求报文段突然又传送到了服务端而产生连接的误判

3、浏览器通过http协议发送请求

4、服务器处理请求

5、发出HTML响应   (有时候为了负载均衡或者导入流量来提高SEO优化,会返回一个永久重定向301,这时候在Location找到重定向地址,重复上述操作)

6、四次挥手释放TCP连接

四次挥手(和地址栏发生的事情无关),由于TCP是双全工的也就是双通道,需要双通道都单独关闭

  

1.     浏览器所在主机向服务器发出连接释放报文,然后停止发送数据;

2.     服务器接收到释放报文后发出确认报文,然后将服务器上未传送完的数据发送完;

3.     服务器数据传输完毕后,向客户机发送连接释放报文;

4.     客户机接收到报文后,发出确认,然后等待一段时间后,释放TCP连接;

7、浏览器渲染页面

8、获取图片url、js的src资源

原文地址:https://www.cnblogs.com/wchjdnh/p/10815160.html

时间: 2024-10-11 08:05:35

浏览器地址栏按回车发生了什么事情的相关文章

把post请求的地址粘贴到浏览器地址栏敲回车报错405[Method Not Allowed]

为什么把post请求的地址粘贴到浏览器地址栏敲回车会报405?原因:在浏览器地址栏敲回车,浏览器默认是以get方式发送请求,而你的请求是post,这样当然会报405了: 405:方法不允许,不支持get请求方式,解决方法:在后台controller中再加一个RequestMapping @RequestMapping(value = "traceDeletelist",method = RequestMethod.GET)

在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别--转

其中,在地址栏按回车又分为两种情况.一是请求的URI在浏览器缓存中未过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下: Host    192.168.3.174:8080User-Agent    Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*

在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别

转自:http://blog.csdn.net/zoohouse/article/details/7552594 先来说"刷新",它是在你现有页面的基础上,检查网页是否有更新的内容.在检查时,会保留之前的一些变量的值,因此有可能会造成刷新后网页出现错误,或者打不开的情况:"转到"和在地址栏回车,则相当于你重新输入网页的URL访问,这种情况下,浏览器会尽量使用已经存在于本机中的缓存.也就是说,"刷新" 是取网页的新内容来更新本机缓存,在更新的同时保

浏览器输入网址回车发生的事情?--

 输入网址回车 执行的过程. 1.DNS解析 域名解析2.找到相对应的服务器3.TCP三次握手4.找到相对应的资源库5.返回相对应的页面并进行页面解析6.解析完毕后,返回客户端 原文地址:https://www.cnblogs.com/yuanjili666/p/11376861.html

ASP.NET平台下从浏览器地址栏输入之后发生的事

浏览器一般内嵌两个模块: Socket通信模块 → 浏览器将地址栏的数据及其他的数据放入http协议的请求头文件中,Socket将此http请求数据发送到远程服务器端 浏览器引擎渲染模块 → 浏览器接受从服务器返回的http响应头数据以及用户请求的数据渲染成用户所见的界面 ASP.NET开发人员和HttpApplication,HttpContext,HttpRequest,HttpResponse这四个类应该是老熟人了,而ASP.NET事件管道也是ASP.NET程序员耳熟能详的,就笔者自己而言

在浏览器地址栏按回车、F5、ctrl+F5刷新页面的区别

url地址栏里敲击enter:这样的刷新,大家可以在firebug里看一下,只有少数的请求会发送出去,而且几乎没有图片的请求,这是因为请求时会先检查本地是不是缓存了请求的图片,如果有缓存而且没有过期(过期可以通过该图片请求的header查看),他就不会发出这个图片request. f5:f5刷新比enter略慢,为什么呢,因为他还是把所有请求都发给了server,只是在request里的header里有信息 Expires Fri, 28 Jun 2013 07:29:55 GMT Last-M

从输入 URL 到浏览器接收的过程中发生了什么事情

从输入 URL 到浏览器接收的过程中发生了什么事情? 原文:http://www.codeceo.com/article/url-cpu-broswer.html 从触屏到 CPU  首先是「输入 URL」,大部分人的第一反应会是键盘,不过为了与时俱进,这里将介绍触摸屏设备的交互. 触摸屏一种传感器,目前大多是基于电容(Capacitive)来实现的,以前都是直接覆盖在显示屏上的,不过最近出现了 3 种嵌入到显示屏中的技术,第一种是 iPhone 5 的 In-cell,它能减小了 0.5 毫米

从输入 URL 到浏览器接收的过程中发生了什么事情?

从输入 URL 到浏览器接收的过程中发生了什么事情? What really happens when you navigate to a URL 上面两篇文章都解读的很好,值得阅读. 接下来在总结一下这个过程: 1.首先,会查询缓存,如果缓存存在的话则直接响应,否则继续下面过程: 2.当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询.这能使浏览器获得请求对应的IP地址.D

在浏览器地址栏中输入URL后发生了什么

在浏览器地址栏中输入URL后发生了什么 基本流程: ①查询ip地址 ②建立tcp连接,接入服务器 ③浏览器发起http请求 ④服务器后台操作并做出http响应 ⑤网页的解析与渲染 详细步骤如下: 查询ip地址 ①浏览器解析出url中的域名. ②查询浏览器的DNS缓存. ③浏览器中没有DNS缓存,则查找本地客户端hosts文件有无对应的ip地址. ④hosts中无,则查找本地DNS服务器(运营商提供的DNS服务器)有无对应的DNS缓存. ⑤若本地DNS没有DNS缓存,则向根服务器查询,进行递归查找