Veb-server

сервер који служи садржај веб-локације клијентима

Veb-server (engl. web server) je serverski softver ili hardver namenjen pokretanju ovog softvera koji može udovoljiti zahtevima klijenata na internetu. Veb server može, generalno, da sadrži jednu ili više veb-lokacija. Veb server obrađuje dolazne mrežne zahteve preko HTTP-a i nekoliko drugih povezanih mrežnih protokola.

Primarna funkcija veb-servera je čuvanje, obrada i dostavljanje veb-stranica klijentima. Komunikacija između klijenta i servera odvija se korišćenjem protokola za prenos hiperteksta (HTTP). Dostavljane stranice su najčešće HTML dokumenti koji pored tekstualnog sadržaja mogu sadržavati slike, tabele i skripte.[1]

Za veb-lokaciju sa velikim prometom može se koristiti više veb-servera.

Korisnički agent, obično veb-pregledač ili veb-pretraživač, inicira komunikaciju podnošenjem zahteva za određeni resurs pomoću HTTP-a, a server odgovori na sadržaj tog resursa ili poruku o grešci ako to ne može. Resurs je obično stvarna datoteka na sekundarnom skladištu servera, ali to nije nužno i zavisi od načina na koji je veb-server implementiran.

Iako je osnovna funkcija posluživanje sadržaja, potpuna implementacija HTTP-a uključuje i načine primanja sadržaja od klijenata. Ova funkcija se koristi za slanje veb-obrazaca, uključujući prenošenje datoteka.

Mnogi generički veb-serveri takođe podržavaju skriptovanje na strani servera pomoću aktivnih stranica servera (ASP), PHP (Hipertekst pretprocesor) ili drugih jezika skripta. To znači da se ponašanje veb-servera može skriptirati u zasebnim datotekama, dok stvarni softver servera ostaje nepromenjen. Obično se ova funkcija koristi za dinamičko generisanje HTML dokumenata („on-d-flaj“ (u prolazu)), za razliku od vraćanja statičkih dokumenata. Prva se prvenstveno koristi za pronalaženje ili modifikaciju informacija iz baza podataka. Potonji je obično mnogo brži i lakše se sprema u memoriju, ali ne može isporučiti dinamički sadržaj.

Veb servere često možete pronaći ugrađene u uređaje kao što su štampači, ruteri, veb-kamere i služe samo lokalnoj mreži. Veb server se tada može koristiti kao deo sistema za nadgledanje ili administriranje dotičnog uređaja. To obično znači da na klijentskom računaru ne mora biti instaliran dodatni softver jer je potreban samo veb-pregledač (koji je sada uključen u većinu operativnih sistema).

Istorija

uredi

Prvi veb-server na svetu, Nekst radna stanica sa Eternet-om, 1990.

U martu 1989. godine Tim Berners-Li predložio je svoj novi projekat CERN-u sa ciljem da olakša razmenu informacija između naučnika korišćenjem hipertekst sistema. Rezultat projekta je Berners-Li napisao dva programa 1990. godine:

Veb pregledač koji se zvao VorldVajdVeb. Prvi veb-server na svetu, kasnije poznat kao CERN httpd, koji se pokretao na NekstSTEP.

Između 1991. i 1994, jednostavnost i efikasnost ranih tehnologija koje su se koristile za surfovanje i razmenu podataka putem svetske mreže pomogle su da se one prenose u različite operativne sisteme i da se njihova upotreba proširi među naučnim organizacijama i univerzitetima, a potom i u industriji.[2][3]

Godine 1994. Berners-Li je odlučio da formira Vorld Vide Veb Konzorcijum (V3C) koji bi regulisao dalji razvoj mnogih uključenih tehnologija (HTTP, HTML, itd.) Putem procesa standardizacije.

Translacija putanja

uredi

Veb serveri su u stanju da preslikaju komponentu putanje jedinstvenog pretraživača resursa (URL) u:

  • Lokalni resurs datotečkog sistema (za statičke zahteve)
  • Interni ili eksterni naziv programa (za dinamičke zahteve)

Za statički zahtev URL putanja koja je odredio klijent je relativna u korenovnom direktorijumu veb-servera.

Kernel mod i korisnički veb-mod

uredi

Veb server može biti uključen u OS kernel ili u korisnički prostor (kao i druge redovne aplikacije).

Veb serveri koji rade u korisničkom režimu moraju da pitaju sistem za dozvolu za korišćenje više memorije ili više CPU resursa. Ne samo da ovi zahtevi za kernel zahtevaju vreme, već nisu uvek i zadovoljeni, jer sistem rezerviše resurse za sopstveno korišćenje i ima odgovornost za deljenje hardverskih resursa sa svim ostalim pokrenutim aplikacijama. Izvođenje u korisničkom režimu može takođe značiti beskorisne međuspremnike koji su još jedno ograničenje za veb-servere u režimu korisnika.

Granice opterećenja

uredi

Veb server (softver) ima definisane granice učitavanja, jer može da obrađuje samo ograničen broj istovremenih klijentovih veza (obično između 2 i 80 000, podrazumevano između 500 i 1000) po IP adresi (i TCP port) i može da služi samo određeni maksimalni broj zahteva u sekundi (RPS, takođe poznat kao upiti u sekundi ili KPS), u zavisnosti od:

  • podešavanja,
  • vrste HTTP zahteva,
  • da li je sadržaj statički ili dinamičan,
  • da li je sadržaj keširan i
  • ograničenja hardvera i softvera operativnog sistema računara na kojem radi veb-server.

Kada je veb-server blizu ili preko njegovog ograničenja, on ne reaguje.

Izvori

uredi
  1. ^ https://www.worldcat.org/oclc/49502686 Web performance tuning Patrick Killelea 2002 O'Reilly isbn=059600172X Beijing 264
  2. ^ https://www.telegraph.co.uk/technology/2018/11/24/father-web-sir-tim-berners-lee-plan-fight-fake-news 'Father of the web' Sir Tim Berners-Lee on his plan to fight fake news Zolfagharifard Ellie 2018-11-24 The Telegraph issn=0307-1235
  3. ^ http://history-computer.com/Internet/Maturing/Lee.html History of Computers and Computing, Internet, Birth, The World Wide Web of Tim Berners-Lee