Как работают веб-серверы? - PullRequest
16 голосов
/ 17 января 2009

Я - разработчик .NET и работаю в C # почти 3,5 года. Я хочу понять, как работает веб-сервер, и я не имею в виду обзор на 65 000 футов. Я хочу понять внутреннюю работу веб-сервера.

Какие хорошие ресурсы можно узнать о том, как работает веб-сервер?

Ответы [ 4 ]

11 голосов
/ 17 января 2009

Если вы действительно хотите понять, как работает веб-сервер предполагается , прочитайте HTTP Spec .

Хорошим инструментом будет Fiddler . С помощью этого инструмента просмотрите браузер в сети и изучите разговор между браузером и серверами. В сочетании с чтением спецификации HTTP это даст вам хорошее представление о том, что действительно происходит в сети.

Если вы хотите пойти дальше, вам нужно решить, какой веб-сервер вы хотите лучше понять. Например, если вы хотите понять IIS6 / 7, тогда блог David Wang - это хорошее место для поиска подробностей.

9 голосов
/ 17 января 2009

Веб-серверы очень просты в реализации, и есть несколько руководств по их созданию.

Вот такой учебник для C #: http://www.codeguru.com/csharp/.net/net_general/article.php/c4603, этот учебник хорош, потому что он реализует сервер вплоть до необработанных сокетов и передачи заголовков HTTP, поэтому вы многое узнаете о спецификации HTTP. К сожалению, некоторые учебные пособия и библиотеки абстрагируют это.

Внедрение на себя позволит вам затронуть множество тем:

  • Программирование сокетов
  • Протокол HTTP (GET / POST)
  • Многопоточность

И как только вы получите базовый веб-сервер, вы можете расширить свой сервер и протокол в свою собственную веб-платформу. должен сделать по-настоящему крутой пэт-проект.

Я сделал это только для Java, C ++ и Python.

1 голос
/ 03 апреля 2010

Я только что натолкнулся на этот вопрос, когда искал что-то еще, но если вы хотите понять веб-сервер, я недавно начал с нескольких записей в блоге, проходящих через собственный веб-сервер с открытым исходным кодом.

Это не научит вас точно, как работает IIS, но базовая связь будет такой же, и, следовательно, это хорошее начало. Вот ссылки, которые вы можете проверить, включая ссылку на проект с открытым исходным кодом:

0 голосов
/ 17 января 2009

IIS и Apache , вероятно, две наиболее распространенные реализации веб-сервера, хотя я не уверен, что вы действительно ищете здесь. Вы хотите знать, как работает каждый из них, как его настроить или как накатить свой?

...