之前用esp8266进行了一般的tcp连接,现在需要做一个可以直接访问远程服务器的项目,因此,研究了一下如何用esp8266实现http协议,由于网上的资料很杂,而且好像都没有说的很清楚。这里做出一个总结,关于之前的命令见下面的网址。
https://blog.csdn.net/qq_34020487/article/details/100904978
由于http协议处在tcp/ip协议的应用层,tcp协议工作在传输层,只需要在tcp传输层中按照http协议中的数据格式,发送数据就可以完成http传输数据。http协议数据如下所示:
GET /mix/76.html?name=kelvin&password=123456 HTTP/1.1
Host: www.fishbay.cn
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
因此只要在tcp发送的时候按照这个格式,即可完成http传输。
http协议的步骤如下所示:
AT+RST
AT