demo文档中get请求数据分析

针对于快递接口http://www.kuaidi100.com/query?type=yuantong&postid=11111111111进行访问分析。从表面上看来这个一个http协议的超链接,url=www.kuaidi100.com/,后边跟着参数type,postid两个参数,以及对应的参数值。Type参数表示属于哪类快递是“申通”,还是圆通,postid代表的是订单号。我用网页打开是这样的:
demo文档中get请求数据分析
文章图片
从这个页面显示我可以分析出,访问的地址是以html格式页面展现出来的,没有任何js,css和响应的图片,页面显示比较简单粗糙。对于浏览器的工作原理是这样的:
1、用户访问网页,发送一个http请求request到应用服务器。2、应用服务器解析请求,发送请求给数据库服务器。3、数据库处理请求返回数据给应用服务器,应用服务器解析数据并生成html,放入http相应response中,返回给浏览器。4、浏览器解析Http response、html。5、浏览器创建DOM(回流和重绘)树。6、浏览器下载CSS,并应用到DOM树上,进行渲染。7、浏览器下载JS,解析并执行JS。8、最后显示网页内容。
但是此网页知识到了第四步就结束了,显示的页面是html页面。从大致的分析上来看,是个查询快递的跟踪明细,表现的有时间,相应的时间快递所在的位置,快递从派送到收到快递的全过程,页面展示就是这么多的信息。


demo文档中get请求数据分析
文章图片
在网页中,用F12的Network查看可以清楚的看到这个请求对应的响应信息,不像其他网站显示过多的响应,首先收到两条响应,这两条响应都是以get方式发送的请求,返回的状态都是200,返回状态正常,可以看出发送www.kuaidi100.com的网址,DNS自动解析出IP地址为118.89.213.194,端口号为80,第一条响应返回的是查询快递的信息,第二条响应返回的是网址上边的标题中的图标。
demo文档中get请求数据分析
文章图片
从第一个响应中,可以看出这个的URL的具体地址,以及请求方法get,返回的状态码200ok,和具体的ip地址和对应的端口号,端口号应该是在请求地址的最后以“:80”的形式展示出来,但是在实际的地址里却没有显示,这是因为http协议具有容错性,就算忘记“:80”他也会自动填补正确,然后发送请求,这也是http协议的优点之一。因为get请求方式是没有body的所以上述图标中都显示得是header信息,根据header信息可以分析出连接方式,缓存机制,web服务器支持的返回内容压缩编码类型。返回内容的MIME类型,原始服务器消息发出的时间,web服务器软件名称nginx,文件传输编码等。一般我们听到的web服务器都是apache,和tomcat,这里的服务器确是nginx。Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:能够支持高达50,000个并发连接数的响应这是他最终要的特点。这里解释一下,浏览器的工作原理以及上述发送请求的一个流程。1、用户访问网页,发送一个http请求request到应用服务器。2、应用服务器解析请求,发送请求给数据库服务器。3、数据库处理请求返回数据给应用服务器,应用服务器解析数据并生成html,放入http相应response中,返回给浏览器。但是对于商业网站来说,服务器在同一时间接受大量的请求,如果直接与tomcat这样的web服务器直接相连接,有可能大量的请求导致tomcat挂掉无法继续工作,但是nginx反向代理却可以能够支持高达50,000个并发连接数的响应。Nginx使用简单的轮巡算法,把接收到的连接数按照算法分发到对应的tomcat服务器上,是tomcat服务器来继续完成下边的工作,并解决并发数特别多的问题。解释图如下:
demo文档中get请求数据分析
文章图片


demo文档中get请求数据分析
文章图片
【demo文档中get请求数据分析】通过分析这个请求的案例,使我体会到Nginx的优点,想想双十一,Nginx起到了非常重要的作用,以致大家同时在天猫抢购时,支付时,没有出现服务器的崩溃,没有出现支付不成功的现象,天猫在服务器的选择与应用上用的恰到好处。本次发送请求只是单纯的html,没有js和css的渲染与展示,所以页面上表现的很简单,通过这个展示可以看出js和css对于页面好不好看,吸引不吸引大家的眼球却起到关键的作用。

    推荐阅读