4

请你谈谈网站是如何进行访问的?

 1 year ago
source link: https://blog.51cto.com/u_15568258/5576466
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Table of Contents

请你谈谈网站是如何进行访问的?_客户端

请你谈谈网站是如何进行访问的?

1.输入一个域名;回车
2.检查本机的C:\Windows\System32\drivers\etc\hostsi
配置文件下有没有这个域名映射;
①有:直接返回对应的ip地址,这个地址中,有我们需要访问的wb程序,可以直接访问。

127.0.0.1 www.shangjingzhu.com

②没有:
去DNS服务器找,找到的话就返回,找不到就返回找不到:

请你谈谈网站是如何进行访问的?_服务器_02

3.可以配置一下环境变量(有想法的话)

三.原理(用户访问网站的流程)

3.1访问过程

DNS协议用于域名解析–>建立TCP协议的三个握手过程–>客户端发送访问网站对应页面的请求(发送HTTP协议请求消息)->服务器发送访问相应页面的请求消息(发送HTTP)->TCP协议断开的四波过程

3.2使用DNS协议的域名解析

DNS被称为域名系统,其主要功能是将域名解析为相应的IP地址。就是把www.baidu.com解析为相应的IP地址111.13.101.208。拥有一个IP地址就等于知道百度服务器在哪里。下一步就是找到它。
在DNS系统中,有两种查找记录的方法:递归查询和迭代查询。
1、递归查询:由DNS客户端发起,逐级提交查询应用,直至查询终止
2、迭代查询:通常在DNS服务器之间完成,即本地DNS将查询提交给上层DNS。上层DNS不会直接返回查询结果,但会告诉DNS在哪里查找。

请你谈谈网站是如何进行访问的?_服务器_03

在实际的DNS查询过程中,它包括递归查询和迭代查询。在任何搜索过程中,都会首先在每个链接中搜索缓存。如果DNS服务器没有缓存,它将失去其意义。
记住查询顺序:
主机表–>本地DNS–>上层DNS(包括根DNS)

3.3建立TCP协议三次握手过程

那么,经过DNS解析,现在我们知道了百度服务器的地址(111.13.101.208),我们可以访问它。
你必须在约会前发出邀请,互联网也是如此。首先建立连接,然后才能传输数据。接下来,让我们看看百度服务器的日期。

3.3.1 TCP协议简介

IP协议定义了一组自己的地址规则,称为IP地址。它实现了路由功能,允许局域网的主机a向另一个局域网的主机B发送消息。
IP协议只是一种地址协议,不能保证数据包的完整性。如果路由器丢失数据包(例如,如果缓存已满,则新数据包将丢失),您需要找出丢失的数据包以及如何重新发送数据包。这取决于TCP协议。
简单来说,TCP协议的功能是确保数据通信的完整性和可靠性,并防止数据包丢失。

3.4客户端发送访问网站相应页面的请求(发送HTTP协议请求消息)

建立连接后,发送请求消息以查看所需的数据。进入百度时。com,默认请求是索引。html主页文件

3.4.1请求消息结构:

1、请求行:
①. 请求的方法(get post)
②. 请求的数据信息(默认情况下请求index.html主页文件)
③. 请求HTTP协议版本
TCP协议分为长连接(HTTP1.1)和短连接(HTTP1.0)
2、请求头:
3、空行:
4、请求主题:get方法没有请求主题内容,post方法将有请求主题信息

3.5服务器发送相应访问页面的请求信息(发送HTTP响应消息)

1、起跑线(响应线)
①. HTTP协议版本信息
②. 响应状态代码信息(请求成功状态代码200)
③. 响应状态代码描述信息
2、响应头:
3、空行:
4、响应正文内容:一般为HTML、CSS、JS等代码信息

3.6断开TCP协议和wave四次

客户端和服务器通过三次握手建立TCP连接后,当数据传输完成时,必须断开TCP连接。对于TCP断开,有一个神秘的“四波”。
第一波:
客户端发送fin以关闭从客户端到服务器的数据传输,客户端进入fin\uwait\u1状态。
第二波:
服务器收到fin后,向客户端发送ACK,确认序列号为收到的序列号+1(与syn相同,一个fin占用一个序列号),服务器进入close\uwait状态。
第三波:
服务器发送fin以关闭从服务器到客户端的数据传输,服务器进入last\uAck状态。
第四波:
客户端接收到fin后,客户端进入time\Wait状态,然后向服务器发送ACK,确认序列号为接收序列号+1,服务器进入关闭状态,完成四波。

请你谈谈网站是如何进行访问的?_客户端_04

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK