一起Talk Android吧(第三百三十二回:HTTP协议实践)

Posted talk_8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第三百三十二回:HTTP协议实践)相关的知识,希望对你有一定的参考价值。

各位看官们,大家好,上一回中咱们说的是android中HTTP协议概述的例子,这一回中咱们的例子是HTTP实践。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,我们在本章回中主要是通过抓包工具来抓取HTTP协议包,然后从包中学习HTTP协议的结构组成。我们先介绍抓包工具:Fiddler.

我的环境是Windows7,在此环境中安装Fiddler和安装其它软件一样,因此不做详细的介绍。下面程序运行时的截图:

程序的左侧是会话(session)右侧是选中会话的HTTP请求包(右上则)和响应包(右下侧),常用的是Inspectors选项卡,此选项卡下面还有一些子选项卡,用来以不同的方式查看包,比如HEX,TEXT,或者只看包头内容。

程序的最左下角是捕获按键,点击它可以开始或者停止捕获数据包。如果觉得点击不方便了可以使用快捷键F12代替。

在此截图中我们抓取了访问百度首页时的HTTP包,在图中详细标注了HTTP请求包和响应包的结构组成。因为这是在具体实例上标注的,大家更能看到包中每个结构的内容。需要注意的是这个是GET请求包,因此entiry body为空。如果是POST请求包就有此内容。

下面我再展示下HTTP报文的结构图,此图是从《计算机网络:自顶向下方法》中截取的,可以看作是理论方面的内容,理论结合实践能够让大家更加深刻地理解HTTP协议的报文。

最后,我们介绍一下Fiddler的抓包原理:Fiddler运行时首先在后台搭建一个服务器,然后将此服务器设定为当前系统中浏览器的代理服务器(可以在当前浏览器的网络属性中查看),这样就能抓取到当前浏览器的HTTP数据包了,当软件退出时再恢复浏览器原来的设置。明白此原理后,我们可以修改部分软件的代理服务器为Fiddler搭建的代码服务器。其IP为127.0.0.1,端口是8888.我们在后续编写手机上的程序时会介绍如何在手机上使用此工具来抓取HTTP协议包。

看官们,关于Android中HTTP协议实践的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

以上是关于一起Talk Android吧(第三百三十二回:HTTP协议实践)的主要内容,如果未能解决你的问题,请参考以下文章

一起Talk Android吧(第三百三十六回: Android中的volley一)

一起Talk Android吧(第三百七十二回:Timer的陷阱)

一起Talk Android吧(第三百三十九回: Android中的OkHttp二)

一起Talk Android吧(第三百三十回:Android中网络通信之UPD通信演示)

一起Talk Android吧(第三百九十二回:适配全屏幕-splash)

一起Talk Android吧(第三百三十八回: Android中的OkHttp一)