关闭

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

标签: web浏览器基础知识
5907人阅读 评论(0) 收藏 举报
分类:

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

最近看了一些关于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打开

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

4
0
查看评论

几个画流程图的网站

3个在线画流程图/线框图的网站 Posted on2011/08/15by iworm 手头没有Visio,想画几张简单的流程图该怎么办呢? 这几个网站可以帮到你,都提供免费和收费版本。 1. Cacoo,基于Flash的画图网站,图上可输入中文。提供基本流程图,线框图,UML等。免费...
  • zjhgx
  • zjhgx
  • 2012-01-31 14:12
  • 30290

[翻译Joel On Software] “现在几点了”网站功能规范/WhatTimeIsIt.com Functional Specification

“现在几点了.com”是一项通过网络告诉人们现在几点了的服务。 这份规范,从来没有想过要是,完整的。 所有的措辞在敲定之前都需要修改几遍。图形和屏幕的布局只是为了展示相应的功能。实际的外观会逐步通过迭代的用户反馈输入由图形设计师设计完成。 这份规范不会讨论时间计算引擎算法,这些算法将在其他地方讨论。...
  • zinking3
  • zinking3
  • 2013-11-05 22:52
  • 3154

访问一个网站的过程

1.本地过程: 若DNS缓存中没有相关数据,则IE浏览器先向DNS服务器发出DNS请求: 这一过程的目的是获取www.sina.com这个域名所对应的IP地址; IE浏览器向本机DNS模块发出DNS请求,DNS模块生成相关的DNS报文; DNS模块将生成的DNS报...
  • zbuger
  • zbuger
  • 2016-03-20 21:10
  • 587

用户用浏览器访问一个网站的时候具体的过程与步骤

1.用户在浏览器中输入网址,计算机提取出域名 2.浏览器通过DNS查找域名对应的IP地址,获得IP地址后 3.尝试与对应的服务器建立TCP连接,连接成功之后 4.将用户的请求装入http数据包,通过建立的tcp连接发送给服务器,等待数据返回。 5.如果数据成功返回,比如说,返回的是一个htm...
  • shiqianrongcsdn
  • shiqianrongcsdn
  • 2015-07-20 09:48
  • 1376

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

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~ 1. 首先嘛,你得在浏览器里输入要网址: 2...
  • saiwaifeike
  • saiwaifeike
  • 2013-04-11 18:04
  • 75528

访问一个网页的全过程

引言 打开浏览器,在地址栏输入URL,回车,出现网页内容。整个过程发生了什么?其中的原理是什么?以下进行整理和总结。 整个过程可以概括为几下几个部分: 域名解析成IP地址; 与目的主机进行TCP连接(三次握手);发送与收取数据(浏览器与目的主机开始HTTP访问过程); 与目的主...
  • u012862311
  • u012862311
  • 2017-12-08 18:03
  • 457

URL访问网站的网络传输全过程

详细说明URL访问网站时域名解析、TCP三次握手、HTTP传输数据、TCP四次挥手的全过程
  • Cloudox_
  • Cloudox_
  • 2017-04-08 18:11
  • 3179

浏览器访问网页的详细内部过程

我们来看当我们在浏览器输入http://www.mytest.com:81/mytest/index.html,幕后所发生的一切。 首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。 1.连接 当我们输入这样一个请求时,首...
  • xiaotian15
  • xiaotian15
  • 2013-03-01 11:13
  • 40816

URL访问网站的整个过程

在校园网下,在IE中输入www.sina.com.cn直到显示结果的过程:1、本地过程若DNS缓存中没有相关数据,则IE浏览器先向DNS服务器发出DNS请求: 这一过程的目的是获取www.sina.com这个域名所对应的IP地址; IE浏览器向本机DNS模块发出DNS请求,DNS模块生成相关的DNS...
  • sinat_29912455
  • sinat_29912455
  • 2016-04-12 17:36
  • 3161

访问一个网页的全过程

准备:DHCP/UDP/IP和以太网 启动主机,用一根以太网电缆连接到学校的以太网交换机,交换机又与学校的路由器相连.学校的这台路由器与一个ISP链接,此ISP(Internet Service Provider)还提供了DNS服务.所以DNS服务器驻留在电信移动联通的网络中而不是学校网络中.假设...
  • Gtacer
  • Gtacer
  • 2017-06-04 23:31
  • 226
    个人资料
    • 访问:463634次
    • 积分:5904
    • 等级:
    • 排名:第5148名
    • 原创:87篇
    • 转载:9篇
    • 译文:1篇
    • 评论:238条
    欢迎大家
    欢迎光临我的博客,希望大家能共同学习,共同进步,写的不好的地方还请大家多多包含指正,o(≧v≦)o~~
    博客专栏
    请多多指教
    写的不好的地方还请大家通过评论,私信,qq(1204953974)联系我,我会好好改正的!不要睬我的文章却不告诉我为什么,这样我也不知道不好在哪,谢谢
    最新评论