一个HTTP request请求从浏览器发出到渲染出页面的过程

LNMP

  • L代表linux操作系统

  • N代表nginx
    nginx可以作为反向代理服务器WEB服务器

  • M代表数据库Mysql

  • P代表脚本语言PHP

一个HTTP request请求从浏览器发出到渲染出页面的过程

1. 浏览器中输入网页地址,在浏览器缓存中查找,找不到进入下一步
2. 通过域名查找对应的服务器IP
- 在本地vhosts文件中查找
- 在本地DNS服务器中查找
- 本地DNS服务器向根DNS服务器发送请求,根DNS服务器会返回一个域服务器(.com服务器)地址
- 本地DNS服务器向域服务器发送请求,域服务器返回一个域名解析服务器地址
- 本地DNS服务器向域名解析服务器发送请求,获得服务器ip地址
- 本地DNS服务器缓存查询结果,并告知浏览器

3. 三次握手,浏览器与服务器建立TCP连接
注意:三次握手的目的是确保通讯双发的发送、接收消息的功能都正常

4. 发送HTTP请求到达服务器,nginx作为反向代理服务器会将请求分发给web服务器
5. nginx作为web服务器处理请求,如果是静态请求js、css、图片等,直接将静态资源返回给客户端;如果是动态请求.php,通过fast-cgi转交给php-fpm,php-fpm调用cgi脚本解释器解析脚本,得到的结果再经由fast-cgi返回给nginx,nginx将结果返回给客户端

6. 客户端接收到response返回结果,开始解析html,以及内嵌资源。发现有远程资源,继续向服务器请求资源

7. 四次挥手断开TCP连接
四次挥手的目的:确认双发都收到断开连接的请求。

  • C 发出断开连接的请求
  • S ack 这个断开请求,确保自己的数据传输完毕,再发送断开连接的请求,
  • C 收到断开请求进入TIME-WAIT状态,发送ack,等待2MSL后没有再收到S的请求则完全断开连接
  • S 收到C的ack后关闭连接
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值