一个HTTP请求的生命流程

1。我们为什么要理解这个http的生命流程?

有没有经常碰到这样的一个事故,上不了网了,别人远程不了玩的计算器了,我们访问不了服务器了
却无从下手,不知道该从哪里排查起,然后瞎百度然后抓一些工具拿起来就用了。我今天就碰到了个问题,别人使用我的代理,说速度很慢,我速度很快,但不知道是什么原因引起的,于是乱试一通,结果最终却是他那边搞了114的DNS,全部解析为国内资源,导致用不了代理。花了2小时多。

2.http的生命流程是什么?

我一开始是这么假设的,我们假设有这两个群体存在,一个是客户端,一个是服务器,假设是我们的公司网络 chat.wsy010.cn
我们大概有个思路是我们发送了一个chat.wsy010.cn地址给服务器,这是一个http请求。

然后到了服务器http请求被解析后,经过了安全组的入站规则过滤,然后请求服务器的资源,请求服务器的资源结束后,会经过安全组的出战规则过滤。然后回到客户端
CSDN的memarid代码
其中一个实例

sequenceDiagram
Title: DNS的流程
用户->>浏览器:输入www.baidu.com
浏览器->>浏览器:缓存存在吗 ?(chrome://net)可查询

浏览器->>系统:hosts文件存在吗?
系统->>DNS:找不到,我问你在那里?
DNS->>根域名DNS:找自身缓存后,找不到,我问你了
根域名DNS->>com顶级域名: 我小区的地方我也找不到,我问你了
com顶级域名->>百度的DNS: 解析
百度的DNS-->>com顶级域名: 返回
com顶级域名-->>根域名DNS: 返回
根域名DNS-->>DNS: 返回
DNS-->>浏览器: 返回
浏览器-->>系统: 返回
系统-->>系统:防火墙判定他是否是个好的请求?
系统-->>系统: ip白名单?安全组规则
浏览器-->>用户: 返回

大概的图解如下

用户 浏览器 系统 DNS 根域名DNS com顶级域名 百度的DNS 输入www.baidu.com 缓存存在吗 ?(chrome://net)可查询 hosts文件存在吗? 找不到,我问你在那里? 找自身缓存后,找不到,我问你了 我小区的地方我也找不到,我问你了 解析 返回 返回 返回 返回 返回 防火墙判定他是否是个好的请求? ip白名单?安全组规则 返回 用户 浏览器 系统 DNS 根域名DNS com顶级域名 百度的DNS DNS的流程

找到DNS后,准备请求服务器

浏览器 服务器 网卡 TCP内核 防火墙 WEB程序 ip http请求,随机端口 1024<x<6504 :80/不写端口,发起HTTP请求(SYN标志数据包一次) 解析 入栈 过滤列表外的请求 发送到web服务器 解析http的mimeType,解析知道要什么资源 返回 返回 返回 返回 返回 浏览器 服务器 网卡 TCP内核 防火墙 WEB程序 浏览器的生命流程

2.1 碰到了问题

哦?不能正常访问,安全组却没设置错?
哦?访问正常却很慢?
无从下手,只能问人,发现有可能接触到了这些地方,第一是DNS,第二是机内防火墙,第三是本机的hosts文件,这时候就觉得要补充一下这方面的知识,主要为了解决如何定位是哪里出了问题

2.2 问题的定位

待补充

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值