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:
Podejście równoczesne
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. |