一位不愿意透露姓名的程序员的工作日记-带实习生

2021年三月16日,今天的小王拎着楼下买的鸡蛋灌饼,一路小跑杀进了办公室,开启了新一天的快乐生活。

手机提示一条新消息,小王心想是不是自己苦追的隔壁公司的妹子给他回消息了,昨晚7点就说她去洗澡了,小王等到半夜也没有等到回复。小王开心地打开手机,原来是老板发的。

老板的肯定稍微平复了一下小王失落的心情,抖擞精神后,小王开始帮实习生小李解决问题,虽然自己也只是工作了一年的菜鸟,但小李的问题自己岂不是手到擒来。

小李: “王哥,我这个请求怎么不通呢,浏览器一直在转圈”。

小李: “王哥,我刚配置了一个服务,为什么返回 connection 瑞...瑞..服...子...的”。

小王:“是refused吧”。

小李:“王哥,这个提示http 四百零四是为啥啊?”

小王:“停,停,那是http 404,咱们一个一个看吧”。

小王整理了下思绪,开始了他的授课模式。

“你这个服务请求不通,浏览器没响应,你看到的是现象,想找到问题所在,你需要知道浏览器发送一个http请求的流程是什么,粗略的说就是这个图。”

“你第一个问题,没有收到响应,那么可能是请求发送给服务器后,服务器没有响应,导致请求方一直获取不到结果,那么如何排除呢,我看你请求后端的地址是那么你就可以登录浏览器服务器后台,在命令栏输入 ‘ping kcSIT.com’,看下网络是否通,然后还可以执行curl 命令模拟请求,判断下后台接口是否正常。”

小李:“原来一个请求后面有这么多流程呢,王哥真厉害,这块我记个笔记。”

“至于这个Connection refused,也是很常见的错误,说明请求服务器时拒绝连接了,打个比方,我想到你家蹭饭,我敲门想进来,你给我说不好意思,就做了两个人的饭,你别来了,拒绝了我。”

小李:“噢,拒绝连接是这么个意思啊,那为什么会返回这个呢?”

“排查的方法和第一个问题类似,你先使用ping或telnet看下网络是否通,然后还可以在服务端服务器执行netstat命令查看服务端对应的端口是否正常启动,看端口状态是正常,有时候如果问题复杂的话,我们还会使用抓包工具对请求进行分析。”

小李:“王哥,我刚执行netsat命令,发现没有8088端口的监听,测试说环境在打版本没启动呢,怪不得我请求不通,下次我就知道如何排查问题了。那第三个问题是为啥呢,环境什么都是好的,请求地址是”

“404是http状态码的一种,它不是提示NOT FOUND吗,一般是你请求的资源不存在或错误,以王哥我多年的经验,肯定是你的地址写错了,你好好检查一下请求地址对不对。”

小李:“王哥,我看了接口文档,肯定没问题!”

“确定吗?”

小李:“非常确定,没问题!”

“你看看这个地址中的Message是不是多了个s,你仔细看看。”

小李:“没多啊,怎么可能?”

“你说没错是吧,赌今天的晚饭,赌不赌。”

小李:“我打开我的配置再检查下.......噢,我的天,果然是多了一个s,不可能啊,不应该啊,我明明照着文档填的,怎么会呢?”

小王:“小伙子,对,没问题,这个S是它自己跑过去的,和你没关系。想当年哥也是这么的自信,但经过生活的毒打之后,哥也丢了你这份自信。”

小李:“......”

“好了,时间差不多了,先点菜吧。”

----在“北京科创汇捷科技发展有限公司”可以与小王互动。