如何使用ESP8266和Arduino构建HTTP响应

时间:2016-07-05 06:46:22

标签: http arduino http-headers esp8266

我想用我的Android设备切换一些LED。这些LED连接到我的Arduino数字引脚,也连接到ESP8266。现在,我的ESP8266被定义为AccessPoint,我的平板电脑可以发送HTTP请求(例如http://192.168.4.1:80/?pin=11)。 我在这里找到了代码http://allaboutee.com/2015/01/20/esp8266-android-application-for-arduino-pin-control/

它工作正常,但我的问题是应该使用哪些HTTP头字段?在这段代码中,他使用了一些(例如Content-Length),但还有更多可能(Date,Server,Content-Language,...)。

这些字段是可选的还是必须使用哪些来构建正确的响应?

以下是我不理解的代码:

void sendHTTPResponse(int connectionId, String content)

{

 String httpResponse;
 String httpHeader;

 httpHeader = "HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=UTF-8\r\n"; 
 httpHeader += "Content-Length: ";
 httpHeader += content.length();
 httpHeader += "\r\n";
 httpHeader +="Connection: close\r\n\r\n";
 httpResponse = httpHeader + content + " ";
 sendCIPData(connectionId,httpResponse);

}

1 个答案:

答案 0 :(得分:1)

它在很大程度上取决于客户(即消费者)哪些字段是必需的,哪些是强制性的。

唯一需要的是" HTTP / 1.1 200 OK"。当然,如果您 发送确认消息,则需要替换该状态代码。