键入网址到网页显示,期间发生了什么

本文详细阐述了HTTP请求过程,包括URL的构成、DNS查找IP、TCP三次握手建立连接,以及如何通过nginx实现负载均衡。

1.HTTP 解析URL

URL元素组成:http +  // + web服务器 + / +目录名 + / 。。。文件名

                       开头访问数据的协议

会去检索web服务器的文件路径

URL是在请求服务器的资源

当没有路径名时,会访问根目录下预先设计好的默认文件

之后生成HTTP请求信息

2.DNS进行真实地址查询,获取IP

3.浏览器向web服务器发送一个HTTP请求

拿到域名对应的IP地址后,浏览器会以一个随机端口向服务器的WEB程序(httpd,nginx)80端口发起TCP的连接请求。这个连接请求到达服务端后(经过路由设备)进入网卡,进入到内核的TCP/IP协议栈,建立TCP/IP联系。

TCP三次握手

用户端和服务端都处于关闭状态closed

用户端主动打开,SYN=1 seq=x

服务端被动打开,SYN=1,ACK=1,seq=y,ack=x+1

用户端返回,ACK=1,seq=x+1,ack=y+1

TCP三次握手详细:

第一次握手 客户端将标志位SYN置为1,随机发送一个值seq=x(1234567)的数据包到服务器,客户端进入到SYN_SENT状态

第二次握手 服务端接到标志位为1,得到客户端要建立连接的请求,服务端发送请求包,标志位为x+1,随机数seq=y,请求同步包标志位为1发送给客户端

第三次握手 客户端接收到以后首先确认标志位是否为J+1,如果正确,发送一个请求确认包,标志位y+1,发送到服务端。服务端检查标志位,若正确则成功建立连接

TCP四次挥手详细

第一次 客户端发送连接释放报文

第二次 服务端接收到报文,发出确认报文

第三次 此时服务端还关闭发送数据到客户端,可以继续发送。若没有数据发送,向客户端发送释放连接报文

第四次 客户端收到释放连接报文后,发出确认报文。

总结来看,http发送数据到服务器,就是应用层http发出请求,到传输层进行tcp三次握手建立tcp/ip连接,再网络层的ip寻址,数据链路层封装成帧,最后物理层利用物理介质传输。

太多会炸,要均衡负载,nginx反向代理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值