2009-01-17 3 views
15

Ich bin ein .NET Entwickler und ich habe fast 3,5 Jahre in C# gearbeitet. Ich möchte verstehen, wie der Webserver funktioniert, und ich meine nicht eine 65.000 Fuß-Übersicht. Ich möchte das Innenleben eines Webservers verstehen.Wie funktionieren Webserver?

Was sind einige gute Ressourcen, um die Grundlagen des Funktionierens eines Webservers zu erlernen?

Antwort

10

Wenn Sie wirklich wollen, dass die Schrauben und Muttern, wie ein Webserver angenommen arbeiten soll, lesen Sie die HTTP Spec.

Ein gutes Werkzeug wäre fiddler. Mit diesem Tool Browser über das Netz und untersuchen Sie die Konversation zwischen dem Browser und den Servern. Kombiniert mit einem Lesen der HTTP-Spezifikation wird dies einen guten Einblick in das geben, was wirklich im Netz passiert.

Wenn Sie weiter gehen wollen, müssen Sie entscheiden, welchen Webserver Sie besser verstehen möchten. Zum Beispiel, wenn Sie IIS6/7 verstehen möchten, dann ist David Wang's Blog ein guter Ort für die Suche nach Details unter der Motorhaube.

9

Webserver sind sehr einfach zu implementieren, und es gibt mehrere Anleitungen zum Erstellen eines.

Hier ist ein solches Tutorial für C#: http://www.codeguru.com/csharp/.net/net_general/article.php/c4603, dieses Tutorial ist nett, weil es den Server zu rohen Sockets und HTTP-Header-Weitergabe implementiert, so dass Sie eine Menge über die HTTP-Spezifikation lernen. Leider, einige Tutorials und Bibliotheken abstrahieren dies weg.

Implementierung auf sich selbst können Sie viele Themen berühren:

  • Socket-Programmierung
  • HTTP-Protokoll (GET/POST)
  • Multi-Threading

Und wenn Sie eine grundlegende bekommen webserver built Sie können Ihren Server und Ihr Protokoll in Ihr eigenes Web-Framework erweitern. sollte ein wirklich cooles Haustier-Projekt machen.

Ich habe gerade das für Java, C++ und Python getan.

+0

Der Link nicht mehr existiert –

0

IIS und Apache sind wahrscheinlich die beiden häufigsten Web-Server-Implementierungen obwohl ich nicht sicher bin, was Sie wirklich hier suchen. Möchten Sie wissen, wie jeder läuft, wie Sie ihn anpassen oder selbst rollen?

1

Ich bin gerade auf diese Frage bei der Suche nach etwas anderem passiert, aber wenn Sie einen Webserver verstehen möchten, habe ich vor kurzem eine Reihe von Blog-Einträge über einen benutzerdefinierten, Open-Source-Webserver gestartet.

Es wird Ihnen nicht genau beibringen, wie IIS funktioniert, aber die grundlegende Kommunikation wäre die gleiche und ist daher ein guter Anfang.Hier sind die Links für Sie, um zu prüfen, einschließlich der Link auf die Open-Source-Projekt: