Здравствуйте, LaptevVV, Вы писали:
LVV>Но студенты зададут вопрос: а зачем nginx, IIS и проие всякие апачи, если сервер надо писать самим7
А зачем самому играть в футбол, если можно по телевизору посмотреть чемпионат высшей лиги?
LVV>Для меня — число психологически предпочтительнее Питона, но что давать в лабах — понятия не имею.
Моё ИМХО, неплохое начальное упражнение — написать на сокетах (а не на стандартной библиотеке) HTTP сервера и клиента. Начинаешь лучше понимать многие вещи.
На уровне HTTP/1.1, 2.0 трогать не надо, там совсем другая игра.
Язык — на усмотрение исполнителя.
А дальше можно развивать. Например, как передавать БОЛЬШИЕ файлы? Всасывать всё в память или сделать streaming-mode передачу тела сообщения? А как передавать видеопоток, у которого нет конечной длины? Как реагировать на разрывы соединения? Запустили стриминговый клиент в лабтопе, крышку закрыли, через полдня открылы, а ему понадобилось еще полдня чтобы понять, что соединение уже тогось. Кто виноват и что делать?