输入一条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)浏览器布局渲染
-- 布局- 根据渲染书布局
-- 绘制 - 在屏幕上绘制每个点
输入一条url后,发生了什么??的更多相关文章
- 【转】浏览器中输入url后发生了什么
原文地址:http://www.jianshu.com/p/c1dfc6caa520 在学习前端的过程中经常看到这样一个问题:当你在浏览器中输入url后发生了什么?下面是个人学习过程中的总结,供个人复 ...
- 天龙八步"细说浏览器输入URL后发生了什么
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输 ...
- 【转】浏览器输入URL后发生了什么
转自:http://www.cnblogs.com/webdeve/p/7865520.html本文摘要: 输入网址 当我们在浏览器输入网址并回车后,一切从这里开始. 一.DNS域名解析 我们在浏览器 ...
- “天龙八步”细说浏览器输入URL后发生了什么
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输 ...
- 细说浏览器输入URL后发生了什么
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 ...
- 在浏览器输入URL后发生了什么?
摘录部分一:https://www.cnblogs.com/kongxy/p/4615226.html 从输入URL到浏览器显示页面发生了什么 当在浏览器地址栏输入网址,如:www.baidu.com ...
- 用户输入URL后发生了什么,以及优化问题
用户角度:1.打开浏览器2.输入URL3.按下回车4.浏览器呈现画面 当用户输入页面地址后,浏览器获得用户希望访问的地址,便向该站点服务器发起一系列的请求,这些请求不光包括对页面的请求,还包括对页面中 ...
- 浏览器输入url后发生的事情以及每步可以做的优化
首先总结下输入url按下回车后的大致流程: 查询url的ip地址. 建立tcp连接,连接服务器. 浏览器发起http/https请求. 服务器响应浏览器的请求. 网页的解析与渲染. 下面分析每个过程 ...
- 浏览器输入URL后发生了什么
假如在浏览器中输入了www.cnblogs.com,然后回车 DNS解析 浏览器检查浏览器缓存是否有域名对应的IP. 浏览器查找操作系统是否有对应的DNS解析成果(hosts文件). 查找路由器缓存. ...
随机推荐
- Flash Builder 4.6配置ASDoc
ASDoc是Adobe自带的文档生成工具.可以生成类似JavaDoc格式的文档. 关于ASDoc详情参见官方文档: http://help.adobe.com/zh_CN/flex/using/WSd ...
- 第一章 Linux系统入门
设定目标,寻求方法,勤奋努力,坚持不懈. ------你们知道了,而我们做到了.------ 世界上第一台计算机:ENIAC(埃尼亚克).1946-2 宾夕法尼亚大学. 约翰·冯·诺依曼体系 电脑的组 ...
- 人生苦短之我用Python篇(paramiko模块)
该模块机遇SSH用于连接远程服务器并执行相关操作 基于用户名密码连接: import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在kno ...
- GitLab non-standard SSH port
/***************************************************************************** * GitLab non-standard ...
- 核PCA投影平面公式推导
样本方差推导 样本方差公式\[S = \frac{1}{n-1}\sum_{i=1}^n(x_i-\mu_i)^2\] 扩展开来得到\[S = \frac{1}{n-1}[(X-\frac{1}{n} ...
- Python笔记-3
一.文件的操作 1.文件的读.写.新增 读文件的获取句柄的语法:f=open('path/file') 句柄的理解: <_io.TextIOWrapper name='/root/myfile/ ...
- AtCoder Regular Contest 077 被虐记&题解
直到\(7:58\)才知道今天\(8:00\)有\(AtCoder\)的菜鸡来写题解啦. C - pushpush 题目: 给定一个长为\(n\)的序列,第\(i\)次操作做如下的事 : 将\(a_i ...
- 解决----Word无法创建工作文件,请检查临时环境变量
用户在运行Word2003或打开Word2003文档时,可能会出现“Word无法创建工作文件,请检查临时环境变量”的错误提示,此问题主要是由于Word2003的用户设置出现损坏而造成的.网上针对此问题 ...
- C# messagebox 居中父窗体
在右边项目上点击右键->Add->class,添加MessageBoxEx类: using System; using System.Windows.Forms; using System ...
- java实现一个最简单的tomcat服务
在了解tomcat的基本原理之前,首先要了解tomcatt最基本的运行原理. 1.如何启动? main方法是程序的入口,tomcat也不例外,查看tomcat源码,发现main是在Bootstrap ...