一张图说明访问网站的流程

原创 2015年11月21日 11:53:43

一张图说明访问网站的流程

最近看了一些关于Web请求资源方面的知识,自己总结了一个流程图,描述了打开浏览器访问一个网站到网站被渲染出来的流程,希望对大家的学习有所帮助~

另外,给大家推荐一款画图很好用的Chrome插件 Gliffy ,我博客里的图大部分都是用它画的,非常的好用,而且是离线的,大家可以试试。

因为是流程图的原因,大体的流程是OK的,但是其实里面还有一些细节没有涉及到,还请大神多多补充~

网站访问流程

浏览器不管是访问JSP、PHP还是ASP.NET,整体流程几乎是一样的。

1.解析主机名

浏览器拿到网址之后首先会将主机名解析出来,如http://www.example.com/hello.html则会将主机名www.example.com解析出来。

2.查找ip

根据主机名,会首先查找IP,首先查询hosts文件,成功则返回其对应ip地址,如果没有查询到,则去查询DNS服务器,成功就会返回ip,否则会报告连接错误。

在host中有这么几句

# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost

所以访问localhost是本机ip,如果这里改掉ip,localhost就会访问其他的ip

比较有意思的是,如果把localhost改成百度,那么访问百度的时候就会访问本机ip

这里是有一些安全机制的,浏览器是会提醒host文件异常的。

3.发送http请求

浏览器会把自身相关信息与请求相关信息封装成HTTP请求消息改送给服务器。

GET / HTTP/1.1
Host: www.csdn.net
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
If-None-Match: W/"5617e6e2-1947a"
If-Modified-Since: Fri, 09 Oct 2015 16:10:10 GMT
Cookie: uuid_tt_dd=-2336166380439124030_20150919; .......

4.服务器处理请求

服务器读取HTTP请求中的内容,在经过解析主机,解析站点名称,解析访问资源后,会查找相关资源,如果查找成功,则返回状态码200,失败就会返回大名鼎鼎的404,在服务器监测到请求不存在的资源后,可以按照程序员设置的跳转到别的页面。所以有各种各样的404错误页面。

在服务器请求资源的过程中,如php文件会在服务器运行之后再返回。所以php等后台脚本是在服务器运行的。

这里写图片描述

5.服务器返回HTTP响应

服务器会将请求的资源封装成http响应

浏览器得到返回数据后可以会提取数据,然后调用解析内核进行翻译,最后显示出页面。

之后浏览器会对其引用的文件比如图片,CSS,JS等文件不断进行上述过程,直到所有文件都被下载下来之后,网页就会显示出来。

网站访问流程图

为了让大家看得更清楚,就加了一个标签,图片可能会横向出去,但是也比看不清强。

><img/>

这里附上原图以及Gliffy 原文件的下载地址:

http://download.csdn.net/detail/sunmc1204953974/9287599

Gliffy文件需要使用Chrome插件Gliffy打开

希望对大家的学习有所帮助~

版权声明:本文为博主原创文章,未经博主允许不得转载 *作者:MingChaoSun *博客地址:http://blog.csdn.net/sunmc1204953974 举报

相关文章推荐

从输入网址到显示网页的全过程分析

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网...

浏览器访问Web服务器流程详细解析

浏览器不管访问JSP、PHP还是ASP.NET,其流程几乎是一样的。

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

一次完整的Http请求过程

在网上看了很多关于http完整流程的介绍文档,都讲的很不错,但是还是各有缺失,所以自己就根据学习及理解整理了一张图,给大家分享下http一次完整的交互流程,只是大概画了下流程,好多细节性的知识还请大家...

一次完整的HTTP事务是怎样一个过程?

一次HTTP请求的完成过程如下: 一、浏览器从URL中接续

URL访问网站的整个过程,并描述用到的算法和协议

问:在xx校园网下,在IE中输入www.sina.com.cn直到显示结果,请描述这个过程是怎么进行的,并描述过程中用到的协议和算法 1.本地过程: 若DNS缓存中没有相关数据,则IE...
  • GS_008
  • GS_008
  • 2016-03-25 01:26
  • 2250

网页http请求的整个过程

这几天看一个讲解一个网页从我们输入地址到显示在我们面前的一个讲解,是我对http又有了一个完整的了解,现在做一下整个流程的记录,虽然不是很详细,但是整个过程是完整的。如果不对,请指正!

一张图说明访问网站的流程

一张图说明访问网站的流程最近看了一些关于Web请求资源方面的知识,自己总结了一个流程图,描述了打开浏览器访问一个网站到网站被渲染出来的流程,希望对大家的学习有所帮助~另外,给大家推荐一款画图很好用的C...

如何提高网站的访问速度

1、网站全部或大量HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。对于交互...

网站打开速度慢的深层次原因分析

有一句话说得好,再好的网站打开速度慢都会导致用户流失。网站的打开速度以及页面的响应时间,往往很少受到SEOer们的关注,但这却能增加网站的用户流失,因为在一部分的用户眼中,如果你的网站长时间还不能打开...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)