您的位置:首页 > 运维架构 > 网站架构

用户访问一个网站的过程步骤

2019-01-30 19:58 155 查看

步骤:DNS–>TCP–>http

利用DNS协议进行域名解析   -->   建立tcp协议三次握手过程   -->
客户端发出访问网站相应页面请求(发出http协议请求报文)   -->
服务端发出相应访问页面的请求信息(发出http)   -->   断开tcp协议四次挥手过程

过程:假设:第一次访问百度网页

1)浏览器先尝试从hosts文件中获取百度对应的IP地址

2)如果访问不到,用DNS协议

在DNS协议中,PC会向你的本地DNS服务器求助(一般是路由器),希望从本地DNS服务器那里得到百度的IP,得到就好,得不到还得向更高层次的DNS服务器求助,最终总能得到百度的IP。

3)TCP建立连接(三次握手)

在TCP协议中,建立TCP需要与百度服务器握手三次,你先告诉服务器你要给服务器发东西(SYN),服务器应答你并告诉你它也要给你发东西(SYN、ACK),然后你应答服务器(ACK),总共来回了3次,称为3次握手。

4)为了将消息从你的PC上传到服务器上,需要用到IP协议、ARP协议和OSPF协议。

我们都知道,你的PC和百度服务器之间一般会有许多路由器之类的东西,IP协议指定了出发地(你的PC)和目的地(服务器);你的数据会经过一个又一个路由器,OSPF决定了会经过那些路由器(用一种叫路由算法的玩意,找出最佳路径);从一个路由器怎么传给下一个路由器?这是ARP协议的JOB,ARP负责求下一个节点的地址(我们不止是要目的地,还要中间节点的地址)。IP协议使用的是IP地址,整个发送过程中只涉及出发地和目的地2个IP地址,而ARP协议使用的是MAC地址,整个发送过程中涉及到每一个节点的MAP

5)HTTP请求网页内容

建立连接后,发送请求报文,想看什么数据。 输入www.baidu.com时,默认请求的是index.html首页文件

请求报文结构:

  1. 请求行:

①. 请求的方法(get post)

②. 请求的数据信息(默认请求index.html首页文件)

③. 请求http协议版本

tcp协议分为长连接(http1.1)和短连接(http1.0)

2.请求头:

3.空行:

4.请求主体:get方法没有请求主体内容 post方法会有请求主体信息

6)服务器发出相应的访问请求页面的信息(发出http 响应报文)

1.起始行(响应行)

①. HTTP协议版本信息

②. 响应的状态码信息(请求成功状态码 200)

③. 响应状态码说明信息

2.响应头部:

3.空行:

4.响应主体内容:一般为html css js 等等代码信息

7)断开tcp 协议四次握手过程

当客户端和服务器通过三次握手建立了TCP连接以后,当数据传送完毕,肯定是要断开TCP连接的啊。那对于TCP的断开连接,这里就有了神秘的“四次挥手”。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: