在浏览器中输入网站域名并按下回车

主要有以下几个部分:

1 DNS解析,获取Web服务器IP

2 向Web服务器发送HTTP请求

3 Web服务器收到请求并处理

4 Web服务器返回响应

5 浏览器对响应解码,并显示数据

6 页面显示完成后,浏览器发送异步请求

下面详细过程:

1 DNS解析,获取Web服务器IP

  请求方按照以下顺序进行DNS解析:

  (1)浏览器缓存

  (2)系统缓存

  (3)路由器缓存

  (4)ISP DNS服务器缓存

  (5)根域名服务器

  如果第(5)步也找不到域名,则该域名不存在。

2 向Web服务器发送HTTP请求

  (1)如果目标IP与本机IP处于同一个子网,请求方发送ARP获取目标IP的MAC地址,否则将网关的MAC地址作为目标MAC地址,进行转发

  (2)生成HTTP数据包,依次打上TCP、IP、以太网协议头部。其中TCP头部主要包含本机端口与目标端口等信息,用于标识同一主机的不同进程,HTTP的默认端口是80,本机浏览器则是一个1024到65535之间的端口号。IP头部主要包含本地IP和目标IP等信息。以太网协议头部主要是双方的MAC地址。如果包太大,还要进行拆包,分别发送。

  (3)请求方与Web服务器通过三次握手建立TCP连接

  (4)发送请求数据(以太网帧)

3 Web服务器收到请求并处理

4 Web服务器返回响应

  返回响应码可能为2xx:成功,3xx:重定向,4xx:客户端错误

5 浏览器对响应解码,并显示数据

  在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了,如果是个静态的页面,拿到此就基本结束了。如果是是动态的,那么在浏览器显示HTML时,会获取嵌入在HTML中的对象,浏览器会发送获取请求来重新获得这些文件。这些请求都要经历一个和HTML读取类似的过程。

  对于静态的页面内容,浏览器通常会进行缓存,而对于动态的内容,浏览器通常不会进行缓存。

6 页面显示完成后,浏览器发送异步请求

  客户端持续与服务器保持联系来及时更新一些页面信息。最后终断TCP连接。

时间: 2024-08-03 06:59:55

在浏览器中输入网站域名并按下回车的相关文章

在浏览器中输入网站域名并按下回车的详细过程

主要有以下几个部分: 1 DNS解析,获取Web服务器IP 2 建立TCP连接 3 向Web服务器发送HTTP请求 4 Web服务器收到请求并处理 5 Web服务器返回响应 6 浏览器对响应解码,并显示数据 7 页面显示完成后,浏览器发送异步请求 8 关闭TCP连接 下面详细过程: 1 DNS解析,获取Web服务器IP 请求方按照以下顺序进行DNS解析: (1)浏览器缓存 (2)系统缓存 (3)路由器缓存 (4)ISP DNS服务器缓存 (5)根域名服务器 如果第(5)步也找不到域名,则该域名不

浏览器中输入Google.com然后按下回车键

按下回车键,当然会产生操作系统的中断响应,产生一个WM_KEYDOWN消息,当然这些都不是计算机网络的东西,这里只讨论计算机网络相关的东西: 解析URL 浏览器通过URL能够知道下面的信息: Protocol “http”,使用HTTP协议.Resource "/",请求的资源的位置.知道域名是www.google.com DNS查询 浏览器提出检查域名的请求,调用操作系统的库函数进行查询,库函数首先看看要查询的域名是否在本地主机里,如果库函数在本地主机中没有找到这个域名的缓存记录,那

在浏览器中输入URL按下回车键后发生了什么

在浏览器中输入URL按下回车键后发生了什么 [1]解析URL[2]DNS查询,解析域名,将域名解析为IP地址[3]ARP广播,根据IP地址来解析MAC地址[4]分别从应用层到传输层.网络层和数据链路层分别加入各个层的头部封装为包[5]进行三次握手后,客户端与服务器建立连接[6]客服务器向客户端返回数据,浏览器接收到数据[7]浏览器开始渲染页面 补充:浏览器渲染页面详解 [1]由从服务器接收到的html形成DOM[2]样式被加载和解析,形成css对象模型CSSOM[3]DOM和CSSOM创建一个渲

在浏览器中输入网址后是怎么跳转到指定的服务器的

1. 首先,在浏览器里输入要网址 2. 浏览器查找域名的IP地址 DNS查找过程如下: 浏览器缓存 – 浏览器会缓存DNS记录一段时间. 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等). 系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname).这样便可获得系统缓存中的记录. 路由器缓存 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存. ISP

深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1

背景 “从浏览器中输入URL到页面加载的发生了什么“,这是一道经典的面试题,涉及到的知识面非常多,但作为一个自认为对网络知识掌握的比较好的老码农来说,回答这个问题自然不在话下.如果这道题目如果在面试出现,对我来说就是送分题啊.尽管如此,我还是愿意花一些时间根据我自己的理解回答一下这个题目,看我自己到底掌握的有多深,同时也把自己的知识梳理一下. 这让我想起另外一件往事,这道题有点类似于“在手机上浏览器上输入一个URL,手机做了一些什么”,我当时学习通信里的核心网时就给自己提出过这个问题. 我非常愿

解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细(转)

原文链接:解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细 题目 一步一步解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细. 解答 这道题目没有所谓的完全的正确答案,这个题目可以让你在任意的一个点深入下去, 只要你对这个点是熟悉的.以下是一个大概流程: 浏览器向DNS服务器查找输入URL对应的IP地址. DNS服务器返回网站的IP地址. 浏览器根据IP地址与目标web服务器在80端口上建立TCP连接 浏览器获取请求页面的html代码. 浏览器在显示窗口内渲染H

在浏览器中输入URL并回车后都发生了什么?

1.解析URL ________________________________________________________________________ 关于URL: URL(Universal Resource Locator):统一资源定位符.俗称网页地址或者网址. URL用来表示某个资源的地址.(通过俗称就能看出来) URL主要由以下几个部分组成: a.传输协议 b.服务器 c.域名 d.端口 e.虚拟目录 f.文件名 g.锚 h.参数 也就是说,通常一个URL是像下面这样 连起来

在浏览器中输入url回车之后会发生什么

在浏览器中输入URL之后,浏览器会经历以下5个步骤: 1.解析URL 2.DNS域名解析 3.浏览器与网站建立TCP链接(三次握手) 4.请求和传输数据 5.浏览器渲染页面 一.解析URL 什么是url: URL(Universal Resource Locator) 同一资源定位符,俗称网页地址或者网址,用来表示某个网页资源的地址 URL主要由一下几个部分组成:1.传输协议 2.服务器 3.域名 4.端口 5.虚拟目录 6.文件名 7.参数 8.锚 也就是说通常的url是这样的 连起来就是这样

在浏览器中输入 www.baidu.com 后执行的全部过程

现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作: 1.客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径.客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层. 2.在客户端的传输层,把HTTP会话请求分成报文段,添