• Что нужно знать, чтобы написать web server на C++?

    @res2001
    Developer, ex-admin
    Полноценный веб сервер - это очень сложное ПО. Сам по себе протокол HTTP оброс кучей дополнений и улучшений, только посмотрите список RFC, его описывающих. В одиночку написать с нуля что-то подобное, например, apache - практически не посильное дело.
    Кроме HTTP, конечно, нужно хорошо знать и понимать сетевое программирование, параллельное программирование, английский язык, что-то еще.

    Но есть библиотеки, в которых веб сервер в каком-то виде с теми или иными ограничениями уже реализован. Можно использовать их. В этом случае задача сильно упрощается.
    Как пример: libonion, haywire, но это больше для Си. Для плюсов есть другие варианты.
    Ответ написан
    Комментировать
  • Что нужно знать, чтобы написать web server на C++?

    @calculator212
    на самом деле на ваш вопрос так просто не ответить. Зависит от того, хотите ли вы использовать сторонние библиотеки или нет, что должен делать сервер и т.д. Укажите подробно, чего вы конкретно ожидаете. Т.к. можно в целом использовать удобноую библиотеку и в целом вообще не знать как и что там устроено.
    Ответ написан
    Комментировать
  • Что нужно знать, чтобы написать web server на C++?

    @rPman
    для создания простейшего веб сервера на c++ требуется минимум знаний

    базовые знания devops (умение устанавливать/настраивать необходимый софт разработчика и используемые библиотеки)
    базовые знания языка программирования c++
    базовые знания понимания работы сетей, понятие socket
    базовые знания по тому что такое web server и хотя бы приблизительное понимание http протокола
    базовые знания разработки многопоточных/многопользовательских приложений (даже без знаний про мьютекс/семафор, просто общие положения,так как веб сервер может быть однопоточным но знать/понимать проблему нужно)

    эти знания позволят написать hello world web server
    дальнейшее усложнение задачи потребует больше знаний уже по этой задаче
    Ответ написан
    Комментировать