浏览器访问网站过程及安装nginx

一.浏览器访问网站过程

**.1 .访问流程**

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

2. 利用DNS协议进行域名解析

DNS称为域名系统,主要作用是负责把域名解析对应的IP地址。就是把www.baidu.com 解析为对应的IP地址 ,有了IP地址就相当于知道百度服务器在哪了,接下来就是去找它。

DNS体系中,查找记录,分为两种查找方式:递归查询和迭代查询。

1、 递归查询:由DNS客户端发起,一级一级的向上提交查询申请,直至查询终止

2、 迭代查询:一般情况下由DNS服务器之间完成,即本地DNS向上一级DNS提交查询,上级DNS并不直接返回查询结果,而是告知DNS应该向哪里去查找。
在真正的DNS查询过程中,是包含递归查询和迭代查询的。无论任何方式的查找过程,在每个环节,都会先查找缓存。DNS服务器如果没有了缓存就失去了意义。。。

请记住查询顺序:

HOSTS表--> 本地DNS -->上层DNS(包括根DNS)

3.建立tcp协议三次握手过程
1)简单说明TCP协议
IP 协议定义了一套自己的地址规则,称为 IP 地址。它实现了路由功能,允许某个局域网的 A 主机,向另一个局域网的 B 主机发送消息。
IP 协议只是一个地址协议,并不保证数据包的完整。如果路由器丢包(比如缓存满了,新进来的数据包就会丢失),就需要发现丢了哪一个包,以及如何重新发送这个包。这就要依靠 TCP 协议。
简单说,TCP 协议的作用是,保证数据通信的完整性和可靠性,防止丢包。

TCP三次握手建立过程简单说明:

1.由客户端(用户)发送建立TCP连接的请求报文,其中报文中包含seq序列号,是由发送端随机生成的。

并且还将报文中SYN字段置为1,表示需要建立TCP连接请求。

2.服务端(就是百度服务器)会回复客户端(用户)发送的TCP连接请求报文,其中包含seq序列号,也是由回复端随机生成的,

并且将回复报文的SYN字段置1,而且会产生ACK验证字段,ACK验证字段数值是在客户端发过来的seq序列号基础上加1进行回复:

并且还会回复ack确认控制字段,以便客户端收到信息时,知晓自己的TCP建立请求已得到了确认。

3.客户端收到服务端发送的TCP建立请求后,会使自己的原有序列号加1进行再次发送序列号,

并且再次回复ACK验证请求,在B端发送过来的seq基础上加1,进行回复;同时也会回复ack确认控制字段,

以便B收到信息时,知晓自己的TCP建立请求已经得到了确认。
浏览器访问网站过程及安装nginx

4.客户端发出访问网站相应页面请求(发出http协议请求报文)

5.断开tcp协议四次挥手过程

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

     第一次挥手:
    Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
    第二次挥手:
    Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。
    第三次挥手:
    Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
    第四次挥手:
    Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。

浏览器访问网站过程及安装nginx

简单来说就是:
1) 拿url去DNS解析IP地址,(查本地DNS缓存)
2) 浏览器 根据IP地址 80端口,建立tcp连接
3) 发送http请求 (请求行 请求头 请求体)
请求行: 请求方法 url HTTP版本
请求头: 键值对
host: 主机名
user-agent: 客户端浏览器信息
请求体:
GET
POST
4) 服务器端给客户端发送http响应
状态码: 200 OK
响应内容: 页面交给浏览器解析

5) 断开tcp连接

二.安装nginx

1.先在浏览器上找一个nginx安装包,然后用wget来下载,我下的是1.17.1的安装包
浏览器访问网站过程及安装nginx

2.下载完之后然后用tar -zxvf进行解压,解压到/usr/local/src下面

3.在用wget下载yum install openssl openssl-devel zlib zlib-devel pcre pcre-devel和yum install gcc -c++

4在.cd /usr/local/src/nginx-1.17.1

5.在用make按照生成的Makefile进行编译
在make install : 将编译好的二进制文件,安装到系统,复位到响应的位置

6.cd /usr/local/nginx/sbin

7.在检测配置文件语法是否正确 ./nginx -t

8.进入./nginx

9.ps aux | grep nginx

10.setenforce 0

11.在关闭防火墙 systemctl stop firewalld.service

12.最后查看一下自己的ip地址

13.然后在浏览器上输入自己的ip地址
浏览器访问网站过程及安装nginx
出现这个即表示正确

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值