GET /com2http/test.aspx HTTP/1.1CRLF

Host: 127.0.0.1CRLF

Content-Length: 86CRLF

Connection: Keep-AliveCRLF

CRLF

000000C8420000C8420000C8420000C8420000C8420000C8420000C842000

0C8420000C8420000C84251AD

通过工具截获的数据以16进制显示如下:

00000000:47 45 54 20 2F 63 6F 6D 32 68 74 74 70 2F 74 65 GET /com2http/te

00000010:73 74 2E 61 73 70 78 20 48 54 54 50 2F 31 2E 31 st.aspx HTTP/1.1

00000020:0D 0A 48 6F 73 74 3A 20 31 32 37 2E 30 2E 30 2E 。.Host: 127.0.0.

00000030:31 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 74 1..Content-Lengt

00000040:68 3A 20 38 36 0D 0A 43 6F 6E 6E 65 63 74 69 6F h: 86..Connectio

00000050:6E 3A 20 4B 65 65 70 2D 41 6C 69 76 65 0D 0A 0D n: Keep-Alive.。。

00000060:0A 30 30 30 30 30 30 43 38 34 32 30 30 30 30 43 .000000C8420000C

00000070:38 34 32 30 30 30 30 43 38 34 32 30 30 30 30 43 8420000C8420000C

00000080:38 34 32 30 30 30 30 43 38 34 32 30 30 30 30 43 8420000C8420000C

00000090:38 34 32 30 30 30 30 43 38 34 32 30 30 30 30 43 8420000C8420000C

000000A0:38 34 32 30 30 30 30 43 38 34 32 30 30 30 30 438420000C8420000C

000000B0:38 34 32 35 31 41 44 84251AD

上面显示的便是一个合法的HTTP协议的数据包实例,从0x61开始为真正的有效数据信息,数据包括一个字节的采集站地址,本例中为“00”,10个符合IEEE-754标准的单精度四字节浮点数,本例中为10个100.0(16进制表示为0000C842),和2个字节的CRC16的循环检验码,本例中为“51AD”.HTTP协议传送的数据一般都是文本格式,所以总共43字节二进制数据经过转化成为86字节的16进制字符串数据。在HTTP包的封装中,除了数据域以外,0x4开始的“/com2http/test.aspx”和0x43开始86会根据实际需要在下位机中由程序自动设置,分别表示处理该数据的处理页面和提交的有效数据字节数。由此可以看出,只要在有效数据的前面加上HTTP请求头,就可以实现简单的HTTP1.1协议,在单片机系统中实现这种功能和写普通的串口发送程序一样简单。