Первое знакомство с протоколом HTTP через написание простейшего Web сервера на Java
Запись от Aleks_U размещена 26.03.2019 в 12:05
Показов 3585
Комментарии 24
|
Моя публикация на хабре https://habr.com/ru/post/441150/ |
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 24
Комментарии
-
Это никакой не веб-сервер. Даже не намёк на него. Входной запрос никак не разбирается и не обрабатывается. Всё в одном потоке. Просто бездумная отвечалка на любое открытие соединения.
Минимальный веб-сервер - вычитывание из запроса предложенийGETиHostи соответствующая их обработка (ответ статикой). И реализация многопоточная.Запись от Usaga размещена 27.03.2019 в 04:44
-
Первое знакоство с протоколом HTTP должно быть в виде того, что в консольном telnet'е заходим на нужный сервер на нужный порт, печатаем в консоли запрос на сервер, получаем ответ от сервера. А по части предложенной программы - соглашусь с коллегой, что к знакомству с протоколом HTTP не имеет практически никакого отношенияЗапись от Evg размещена 27.03.2019 в 16:08
-
Статья написана для начинающих. Вы уже давно не из этой категории, насколько я вижу))Запись от Aleks_U размещена 27.03.2019 в 17:47
-
Запись от Usaga размещена 27.03.2019 в 19:50
-
О том, дает или нет пусть судят сами начинающие
Запись от Aleks_U размещена 28.03.2019 в 12:53
-
Запись от Usaga размещена 28.03.2019 в 13:43
-
Вы имеете полное право на личное мнение по данному вопросу. Судить о вашем опыте и квалификации не возьмусь ибо не достаточно с вами знаком.Запись от Aleks_U размещена 28.03.2019 в 14:20
-
Запись от Evg размещена 28.03.2019 в 20:08
-

Запись от Aleks_U размещена 28.03.2019 в 20:30
-
Запись от Usaga размещена 29.03.2019 в 05:46
-
А вы что ожидаете при вашем уровне аргументации и доброжелательности?Запись от Aleks_U размещена 29.03.2019 в 11:38
-
Запись от Usaga размещена 29.03.2019 в 11:48
-
Предложение удалить статью совсем не из категории доброжелательных. В целом ваш уровень аргументации говорит о том что вы лишь мельком глянули на код не особо вникая в суть и почти не читая текста. Главная цель - показать что взаимодействие по протоколу HTTP сводится к передаче текста в определенном формате. Я специально не стал усложнять код многопоточностью и подробным разбором сообщений, т.к. не это главное.Запись от Aleks_U размещена 29.03.2019 в 12:17
-
Я не предлагал её удалять. Я вынес оценку.
Да, я мельком глянул и всё, что нужно увидел: работы с HTTP там тупо нет. Вы принимаете ЛЮБОЙ запрос никак не анализируя структуры запроса и просто отдаёте порцию заранее заготовленного текста.
HTTP - протокол. Если статья собирается знакомить с протоколом HTTP на примере простого веб-сервера, то в ней должна быть работа с этим протоколом, не находите? У вас такой работы нет. К вам подключится почтовый клиент по протоколу SMTP и вы ему туже портянку и выдадите, ибо ваш "веб-сервер" - вообще не сервер никакой и тем более не веб.
Я уже озвучил необходимый минимум, которому должно отвечать приложение, которое собирается называться громким "веб-сервер":
- минимальный разбор заголовка запроса с вычленением URI;
- многопоточная обработка;
Ничего этого в приложении нету. А строку из стрима получить... Слишком примитивно даже для демонстрации работы сокета, не то, что про мини-веб-сервер.Запись от Usaga размещена 29.03.2019 в 13:16
-
Aleks_U, could you write a such simple article like this for beginners in Java for writing a very simple TCP server? I think it will very interesting for beginners too because then can continue to write very simple local cooperative games like Tic-Tac-Toe, checkers and so on.
Translate Google Result:
Aleks_U, не могли бы вы написать такую простую статью, подобную этой, для новичков в Java для написания очень простого TCP-сервера? Я думаю, что это будет очень интересно и для начинающих, потому что тогда они смогут продолжать писать очень простые местные кооперативные игры, такие как Tic-Tac-Toe, шашки и так далее.Запись от 8Observer8 размещена 31.03.2019 в 14:45
-
8Observer8, ваш английский - транслит с русского. Полное отсутствие речевых оборотов и идиом принятых в английском языке. Ну и ошибок полно. Если действительно хотите практиковаться, общайтесь с носителями языка и перенимайте их манеру общения. Старый добрый принцип "Хочешь научиться играть в шахматы - играй с тем, кто сильнее тебя" работает везде. А писать транслитом можно и десять лет подряд, лучше ваши навыки от этого не станут.Запись от Usaga размещена 01.04.2019 в 07:10
-
Спасибо Использование за ваш комментарий. Мне очень нравятся ваши комментарии. Я жду их. Ваши комментарии очень полезны всегда. Вы добрый и самый умный парень на форуме.
Thank you Usage for your comment. I like your comments very mash. I wait them. Your comments is very useful always. You are the kindness and the smartest guy on the forum.
Как вы думаете, я использую только CyberForum? Нет, пишите на многих зарубежных форумах.
Do you think I use CyberForum only? No, write on a lot of foreign forums.
Основная цель его: все понимают меня на зарубежных форумах. Если вы говорите это, значит, ваш английский хуже моего. Ваш английский очень плохой. Это значит, что вы не писали на зарубежных форумах никогда.
The main goal is its: everyone understands me on the foreign forums. If you say it then it means that your English is worse than mine. Your English is very bad. It means that you did not write on foreign forums never.
Я решил писать по-английски всего несколько месяцев назад в конце декабря 2018 года. Я заметил, что если вы пишете по-русски больше, то по-английски ваше изучение английского языка очень затруднено.
I decided to write in English only a few month ago at the end of December 2018. I noted that if you write in Russian more that in English your learning of English is very stuck.
Я скоро начну изучать фразовые глаголы и идиомы. Но я думаю, что это не важно. Использование английского является более важным. Важно писать только на английском языке и читать только английские книги и так далее.
I will start to learn phrasal verbs and idioms soon. But I think it is not important. Usage of English is more important. It is important to write in English only and read only English books and so on.Запись от 8Observer8 размещена 01.04.2019 в 10:43
-
Aleks_U, I see on LinkedIn that you have a big experience. You worked in EPAM, banks and so on. I think you need to pass your experience to another people. Please, write more articles on Xabr and publish links here. Your article was useful for me too. Please, write an article about TCP server. I will use Java because I want to make games using sockets. I like Java principle WORA - write once, run anywhere. I like that I can make builds from Windows for Mac and Linux. In this aspect Java is better than C#. C# WPF program can be build for Windows only.
Translate Google Result:
Я вижу на LinkedIn, что у вас большой опыт. Вы работали в EPAM, банках и так далее. Я думаю, что вам нужно передать свой опыт другим людям. Пожалуйста, напишите больше статей на Xabr и опубликуйте ссылки здесь. Ваша статья была полезна и для меня. Пожалуйста, напишите статью о TCP-сервере. Я буду использовать Java, потому что я хочу делать игры, используя сокеты. Мне нравится принцип Java WORA - пиши один раз, беги куда угодно. Мне нравится, что я могу делать сборки из Windows для Mac и Linux. В этом аспекте Java лучше, чем C #. Программа C # WPF может быть собрана только для Windows.Запись от 8Observer8 размещена 01.04.2019 в 11:05
-
Запись от Usaga размещена 01.04.2019 в 12:21
-
Я вижу, вы очень большой знаток настоящего английского языка. Вы критикуете всех в каждой теме. Но я никогда не видел ваши примеры кода, ваши фазы английского, ваши статьи, ваши учебные пособия. Вы просто говорите, что все плохо, и все ничего не понимают. Ваша информация не дает мне ничего. Я не видел носителей английского языка на Upwork, Freelancer.com и так далее. Если я буду использовать английские сленги и идиомы, то клиенты из Германии, Италии, Франции и меня никто не поймет. Очень часто, когда у клиента навыки английского языка хуже, чем у меня. Я стараюсь писать как можно проще. Я пишу на многих зарубежных форумах программистов, и все меня понимают - для меня это главная цель. Почему вы так обо мне беспокоитесь? Какая вам разница, что и как я пишу? Пожалуйста, игнорируйте мои сообщения. Не пишите мне. Пожалуйста не переживайте за меня. Я знаю, что я делаю. Я знаю, как изучать словарный запас, как практиковаться в английском, используя ежедневный набор текста. Если у меня будут ошибки, я пойму их позже. Давайте не будем создавать оффтоп в этом блоге.
I see you are a very big expert in real native English. You criticize everyone in every theme. But I never saw your examples of code, your English phases, your articles, your tutorials. You just say that everything is bad, and everyone understand nothing. Your information does not give me anything. I did not see native English speakers on Upwork, Freelancer.com and so on. If I will use English slangs and idioms then customers form Germany, Italia, France and so one will not understand me. It is very often when the customer have worse skills in English then me. I try to write as simple as it possible. I write on a lot of programmer foreign forums and everyone understands me - this is a main goal for me. Why are you so worried about me? What does it matter to you, what and how do I write? Please ignore my posts. Do not write to me. Please don't worry about me. I know what I do. I know how to study vocabulary, how to practice in English using typing everyday. If I have mistakes I will understand them later. Let's dot not create offtop in this blog.Запись от 8Observer8 размещена 02.04.2019 в 00:31




