На этом дополнительном слайде мы сформируем правильный HTTP-ответ, который будет выдавать наш сервер, чтобы даже привередливые браузеры смогли бы его отобразить.
Дата отправки отчёта:
27 ноября 2018 г.
Задание выполнено: за
3 час. 13 мин.
Чему научился:
Научился отправлять http-ответ сервера клиенту. Проверил на своём браузере Firefox, установил браузеры Chromium и GNOME Epiphany- везде работает как надо. Дополнительно почитал про другие заголовки, узнал что многие из них связаны с кешированием. Добавил заголовок "Content-Length", который высчитывается перед отправкой сообщения.
Я проверил на третьем браузере GNOME Epiphany, ему не понравился протокол HTTP/1.x, я вернул 1.0 и переотправил отчет. Заодно решил всё упростить: убрать Connection: close и заголовок отмены кеширования. Кстати нет, не помогло. Браузеры все равно повторно отправляют запрос, то есть отправляют два вместо одного. Видимо надо какой-то другой заголовок использовать.
Я решил проверить содержимое первого и второго запроса браузеров. Получается так, что браузеры запрашивают во втором запросе файл favicon.ico. Тут я нашел варианты решения этой проблемы stackoverflow.com/questions/1321878/how-to-prevent-favicon-ico-requests/38917888#38917888 . В нашем случае я реализовал это так <html><head><link rel=\"icon\" href=\"data:,\"></head><body><h1>Java %d</h1>\r\n</body></html> то есть просто наш вывод обрамил в теги <html> и <body>, попутно добавил <head> чтобы использовать link rel. Решение такое себе, в двух браузерах сработало, в третьем нет. Может у вас на ваших браузерах тоже получится? Если я правильно понимаю, это проблема не нашей программы, а проблема в браузерах. Тут надо либо заморачиваться с созданием этого файла или запрета доступа к нему, чтобы не было второго запроса. В той ссылке есть разные способы.
Отчёт оценивали: 17606. Виктор+117947. Dmitry Sinitsin+1162. Андрей+116568. Игорь Тюлькин+16203. Николай Миролюбов+11. Евгений Волосатов+13747. Сергей+13922. Александр+119384. Владимир+120167. Айдар+111353. AlliZzeN+118681. alklokov+118419. DenisMed+1791. Валерий Жданов+1Посетитель+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.