Serwer internetowy

Przegląd

Web serverto komputer, na którym przechowywana jest treść internetowa. Zasadniczo serwer WWW służy do hostowania witryn internetowych, ale istnieją również inne serwery internetowe, takie jak gry, przechowywanie, FTP, poczta e-mail itp.

Witryna internetowa to zbiór stron internetowych, podczas gdy serwer sieci Web to oprogramowanie, które odpowiada na żądania zasobów internetowych.

Serwer sieciowy działa

Serwer sieci Web odpowiada na żądanie klienta w jeden z następujących dwóch sposobów:

  • Wysłanie pliku do klienta skojarzonego z żądanym adresem URL.

  • Generowanie odpowiedzi poprzez wywołanie skryptu i komunikację z bazą danych

Key Points

  • Gdy klient wysyła żądanie dotyczące strony internetowej, serwer sieciowy wyszukuje żądaną stronę, jeśli żądana strona zostanie znaleziona, a następnie wyśle ​​ją do klienta z odpowiedzią HTTP.

  • Jeśli żądana strona internetowa nie zostanie znaleziona, serwer WWW wyśle ​​plik HTTP response:Error 404 Not found.

  • Jeśli klient zażądał innych zasobów, serwer WWW skontaktuje się z serwerem aplikacji i składnicą danych w celu utworzenia odpowiedzi HTTP.

Architektura

Architektura serwera sieci Web opiera się na następujących dwóch podejściach:

  1. Podejście równoczesne

  2. Podejście oparte na jednym procesie i zdarzeniu.

Podejście równoczesne

Podejście współbieżne umożliwia serwerowi WWW obsługę wielu żądań klientów w tym samym czasie. Można to osiągnąć za pomocą następujących metod:

  • Multi-process

  • Multi-threaded

  • Metoda hybrydowa.

Wielokrotne przetwarzanie

W tym przypadku pojedynczy proces (proces nadrzędny) inicjuje kilka jednowątkowych procesów potomnych i rozsyła przychodzące żądania do tych procesów potomnych. Każdy z procesów potomnych jest odpowiedzialny za obsługę pojedynczego żądania.

Obowiązkiem procesu macierzystego jest monitorowanie ładunku i decydowanie, czy procesy powinny zostać zabite, czy rozwidlone.

Wielowątkowe

W przeciwieństwie do wielu procesów, tworzy wiele procesów jednowątkowych.

Hybrydowy

Jest to połączenie powyższych dwóch podejść. W tym podejściu tworzonych jest wiele procesów, a każdy proces inicjuje wiele wątków. Każdy z wątków obsługuje jedno połączenie. Korzystanie z wielu wątków w jednym procesie powoduje mniejsze obciążenie zasobów systemowych.

Przykłady

W poniższej tabeli opisano najpopularniejsze obecnie dostępne serwery internetowe:

SN Web Server Descriptino
1 Apache HTTP Server
To najpopularniejszy serwer WWW na świecie opracowany przez Apache Software Foundation. Serwer WWW Apache jest oprogramowaniem typu open source i można go zainstalować na prawie wszystkich systemach operacyjnych, w tym Linux, UNIX, Windows, FreeBSD, Mac OS X i nie tylko. Około 60% serwerów WWW obsługuje serwer WWW Apache.
2. Internet Information Services (IIS)
Internet Information Server (IIS) to wydajny serwer sieci Web firmy Microsoft. Ten serwer sieciowy działa na platformach Windows NT / 2000 i 2003 (i może być również w nadchodzącej nowej wersji Windows). IIS jest dostarczany w pakiecie z Windows NT / 2000 i 2003; Ponieważ usługi IIS są ściśle zintegrowane z systemem operacyjnym, administrowanie nimi jest stosunkowo łatwe.
3. Lighttpd
Lighttpd, wymawiane jako lighty, jest również darmowym serwerem sieciowym, który jest dystrybuowany z systemem operacyjnym FreeBSD. Ten serwer WWW typu open source jest szybki, bezpieczny i zużywa znacznie mniej mocy procesora. Lighttpd może również działać w systemach operacyjnych Windows, Mac OS X, Linux i Solaris.
4. Sun Java System Web Server
Ten serwer WWW firmy Sun Microsystems jest odpowiedni dla średnich i dużych witryn internetowych. Chociaż serwer jest darmowy, nie jest open source. Działa jednak na platformach Windows, Linux i UNIX. Serwer sieciowy Sun Java System obsługuje różne języki, skrypty i technologie wymagane dla Web 2.0, takie jak JSP, Java Servlets, PHP, Perl, Python i Ruby on Rails, ASP i Coldfusion itp.
5. Jigsaw Server
Jigsaw (serwer W3C) pochodzi z konsorcjum World Wide Web. Jest open source i darmowy i może działać na różnych platformach, takich jak Linux, UNIX, Windows i Mac OS X Free BSD itp. Jigsaw został napisany w Javie i może uruchamiać skrypty CGI i programy PHP.