Сайт с java веб сервера не работает в iOS браузерах
Я новичок в теме Java Server и решил написать свой веб-сервер на java, на чистом java.net с ServerSocket. Сам сервер работает исправно на операционных системах Windows, Linux, Android во всех браузерах. Но с iOS возникли проблемы. Все браузеры на iOS выводят сайт как текст, не преобразуя его.
Краткое объяснение работы сервера.
Получаем запрос от клиента(InputStream).
Преобразуем в строку.
Находим нужный .html файл.
Считываем текст из файла.
Добавляем текст из файла к http заголовоку.
Преобразуем все .getBytes(StandardCharsets.UTF_8);
Отправляем клиенту(браузеру)(OutputStream);
http заголовок:
HTTP/1.x 200 OK
Cache-Control: max-age=3600, must-revalidate
Connection: keep-alive
Content-Type: text/html; charset=utf-8; charset=UTF-8
Content-Length: 12243
Text
Как это исправить?
Ответы (1 шт):
Автор решения: Ryabinin NIkolay
→ Ссылка
Проблема была в http заголовке. Вид версии протокола как HTTP/1.x iOS движок веб браузера не воспринимает. Нужно выдавать точную версию по типу HTTP/1.1.