Я разрабатываю нестандартное устройство на основе lwip и хочу отправить HTML-страницу подключенному клиенту через браузер.
Моя страница имеет следующий HTML-код:
<!DOCTYPE html>
<html>
<head>
<title>Pooof</title>
<meta charset="us-ascii">
</head>
<body>
<h1>TEST index page</h1>
<p>TBD</p>
</body>
Я упаковываю этот HTML-файл в двоичное представление в uint8_t, сохраняю его на устройстве и возвращаю в GET / request.
Я ожидаю, что моя страница будет доступна во всех браузерах. Но я вижу это только в Microsoft Edge. В Chrome и Firefox я вижу только 200 статусов ответов без отображения веб-страницы
. Если я отправляю запрос почтальоном, я получаю единственное тело, но без проанализированных заголовков. Тело имеет следующий текст:
Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
Content-Length: 201
Connection: Close
Content-type: text/html; charset=us-ascii
<!DOCTYPE html>
<html>
<head>
<title>Pooof</title>
<meta charset="us-ascii">
</head>
<body>
<h1>TEST index page</h1>
<p>TBD</p>
</body>
</html>
Почтальон не показывает никаких заголовков.
В Chrome я вижу, что было проанализировано, единственный заголовок. Необработанный заголовок thew выглядит следующим образом:
HTTP/1.1 200 OK
Server: lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)
Content-Length: 201
Connection: Close
Content-type: text/html; charset=us-ascii
<!DOCTYPE html>
<html>
<head>
<title>Pooof</title>
<meta charset="us-ascii">
</head>
<body>
<h1>TEST index page</h1>
<p>TBD</p>
</body>
</html>
Тело в Chrome пусто.
Я уже пытаюсь добавить больше \ r \ n \ r \ n, которые, как мне кажется, "съедает"Chrome, я пытаюсь отправить \ r \ r \ n вместо \ r \ n, о котором говорилось в разных статьях, но я ничего не вижу в Chrome.
Так что в настоящее время я вижу свою страницу только в Microsoft Edgeно я хочу видеть во всех браузерах.