输入url后发生了什么

(1)浏览器解析

(2)查询缓存

(3)DNS查询

顺序如下,若其中一步成功直接进去建立连接部分:

-- 浏览器自身DNS

-- 操作系统DNS

-- 本地hosts文件

-- 像域名服务器发送请求

(4)建立连接

-- TCP三次握手(three-way handshaking)

-- 发送方: SYN(synchonize)

-- 接受方: SYN/ACK(acknowledgement), 确认信息传达

-- 发送方: ACK - 确认接受方再线可收消息,握手结束

Accept

-- 1, 发送端: 标有SYN的数据包发给你了

-- 2, 接收端: 明白了! 我收到你给我发的数据包了! (并发送标有SYN/ACK的数据包了)

-- 3, 明白! (发送标有ACK的数据包)

TCP三次握手的好处在于,发送方可以确认接受方仍然在线,不会因为白发送而浪费资源.

(5) 发送HTTP请求

-- 报文首部(GET/index.html HTTP/1.1)

-- 方法

-- URL

-- HTTP版本

-- 空行

-- 报文主体

注意: 1,HTTP是无连接, 无状态的,即HTTP再传输完成后就会断开,并且下一次登陆时不会记录上次的登陆状态

2,关于CR(Carriage Return, 回车)和LF(Line Feed, 换行)

Dos和Windows采用的CR/LF表示下一行
UNIX/Linux采用LF表示下一行
MAC OS系统采用CR表示下一行

(6)服务器发送响应

-- 报文首部(HTTP/1.1 200 ok)

-- HTTP版本

-- 响应状态码

-- 状态码信息

-- 空行(CR+LF)

-- 报文主体

(7)客户端收到页面

(8)解析HTML

-- 构建DOM树

-- 下载资源

-- CSS - 构建CSSSOM树

-- js - 等下载并执行后解析

(9)构建渲染树

根据DOM和CSSSOM树渲染,不可见元素不被会渲染

(10)浏览器布局渲染

-- 布局- 根据渲染书布局

-- 绘制 - 在屏幕上绘制每个点

原文地址:https://www.cnblogs.com/zxmbky/p/9594541.html

时间: 2024-11-04 17:46:08

输入url后发生了什么的相关文章

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

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

细说浏览器输入URL后发生了什么

细说浏览器输入URL后发生了什么 总体概览 大体上,可以分为六步,当然每一步都可以详细都展开来说,这里先放一张总览图: DNS域名解析 在网络世界,你肯定记得住网站的名称,但是很难记住网站的 IP 地址,因而也需要一个地址簿,就是 DNS 服务器.DNS 服务器是高可用.高并发和分布式的,它是树状结构,如图: 根 DNS 服务器 :返回顶级域 DNS 服务器的 IP 地址 顶级域 DNS 服务器:返回权威 DNS 服务器的 IP 地址 权威 DNS 服务器 :返回相应主机的 IP 地址 DNS的

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

这是一个非常有意思的事情,通过这个我们可以更好地理解http请求. 在浏览器的地址栏中输入url后会经历下面的步骤: 第一步:进行域名解析--- 浏览器搜索自身的DNS缓存,如果有缓存,再看有没有过期,如果没过期,就是用这个ip,如果过期,这个过程就结束了. 注:查看谷歌浏览器的dns缓存的方法--在地址栏中输入chrome://net-internals/#dns 这样就可以看到自己的浏览器中的dns缓存. 第二步:如果浏览器没有搜索到自身的dns缓存或者是自身的dns缓存已经失效,那么它就会

用户输入URL后发生了什么,以及优化问题

用户角度:1.打开浏览器2.输入URL3.按下回车4.浏览器呈现画面 当用户输入页面地址后,浏览器获得用户希望访问的地址,便向该站点服务器发起一系列的请求,这些请求不光包括对页面的请求,还包括对页面中许许多多组件的请求,比如图片(img).叠层样式表(css).脚本(javascript).内嵌页面(iframe).音频媒体文件等.接下来一段时间,浏览器等待服务器的响应以及返回的数据.待浏览器获得所有返回的数据后,经过浏览器本地的计算和渲染,最终呈现一幅完整的页面在用户眼前. 这个过程中,主要经

浏览器输入url后发生的事情以及每步可以做的优化

首先总结下输入url按下回车后的大致流程: 查询url的ip地址. 建立tcp连接,连接服务器. 浏览器发起http/https请求. 服务器响应浏览器的请求. 网页的解析与渲染. 下面分析每个过程 查询url的ip地址详细过程: 浏览器解析出url中的域名. 查询浏览器的DNS缓存. 浏览器中没有DNS缓存,则查找本地客户端hosts文件有无对应的ip地址. hosts中无,则查找本地DNS服务器有无对应的缓存. 若本地DNS服务器没有缓存,则向根服务器查询,进行递归查找. 递归查找从顶级域名

浏览器输入URL后发生了什么

假如在浏览器中输入了www.cnblogs.com,然后回车 DNS解析 浏览器检查浏览器缓存是否有域名对应的IP. 浏览器查找操作系统是否有对应的DNS解析成果(hosts文件). 查找路由器缓存. 浏览器客户端向本地域名服务器发送一个含有域名www.cnblogs.com的DNS查询报文.(大约80%的域名解析到这里就完成了) 本地DNS服务器把查询报文转发到根DNS服务器,根DNS服务器注意到其com后缀,于是向本地DNS服务器返回com的顶级域名服务器的IP地址. 本地DNS服务器再次向

【计算机网络】当输入URL后发生了什么

我们使用一个非常简单的模型,并假设它是最简单的HTTP请求,不使用代理并且使用的是IPv4 1. 浏览器首先判断使用的是什么协议(ftp/http),然后对URL进行安全检查.最后浏览器查看缓存,如果请求的对象在缓存中并且是比较新的.那么直接跳到步骤9 2. 浏览器请求OS返回服务器的IP地址 3. 操作系统启动DNS查询并向浏览器返回服务器的IP地址 4. 浏览器使用TCP协议建立与服务器的连接 5. 浏览器通过TCP连接发出HTTP请求 6. 浏览器收到HTTP响应.这时候浏览器可能关闭TC

当输入URL后,会发生什么[转]

当输入URL后,会发生什么 本文转载自:http://www.cnblogs.com/wenanry/archive/2010/02/25/1673368.html原文翻译自:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ 作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等.本文将更深入的

不定期更新的新问题(http协议当你在浏览器里输入一个url后发生了什么?)

HTTP协议: 超文本传输协议是互联网上应用最为广泛的一种网络协议 https是以安全为目标的http通道,就是http的安全版 为什么会有这个协议呢? 为了建立客户端与服务器的连接,让两者进行沟通 自我理解:让计算机按照规矩说话,你问我答,你怎么问我怎么答,否则计算机会各说各话没办法沟通 http是通过报文进行沟通的 请求报文:请求头.请求行.请求体 响应报文:响应头.响应行.响应体 请求头:Accept:指定客户端能够接收的内容类型.Cache-Control:指定请求和响应遵循的缓存机制.