Apache server ( utilizzo di TCP/IP)

Come Apache server utilizza TCP/IP

Apache
web server

Un server è un dispositivo hardware che contiene: un computer, del software e connessioni verso l’esterno (es: schede Ethernet o linee seriali connesse al modem). Tali connessioni sono dette Interfaccia e viene riconosciuta nel resto del mondo attraverso il suo indirizzo IP. Se sono presenti più interfacce ognuna avrebbe un indirizzo IP differente, (anche se un interfaccia può gestire più di un indirizzo IP contemporaneamente). L’interfaccia riceve richieste da numerosi servizi offerti dal server, sulla base dei differenti protocolli:

  • NNTP : Network News Transfer Protocol
  • SMTP : Simple Mail Transfer Protocol
  • DNS : Domain name service
  • HTTP : world wide web

Il server decide come gestire queste differenti richieste sulla base del fatto che l’indirizzo IP di 4 byte con il quale inizia la richiesta è seguito da un numero di porta da 2 byte. I vari servizi sono associati a porte differenti:

  • NNTP : porta 119
  • SMTP : porta 25
  • DNS : porta 53
  • HTTP : porta 80

Apache per default si mette in ascolto sulla porta 80, dato che il suo compito è trattare i flussi di informazioni www.

Apache.org

Server in ambiente win32

Al di là della gestione dei privilegi sui file, non esiste nessun vero meccanismo di sicurezza che vieti all’utente di agire sui servizi. Così come non esiste un vero e proprio superuser per la gestione dei numeri di porta. Tutto ciò è adeguato se la nostra macchina mette a disposizione del resto della rete globale un solo server.

Ma accade spesso di ospitare sullo stesso server fisico decine o centinaia di server web, ognuno dei quali deve essere distinguibile dagli altri. Gli autori di HTTP 1.0 non avevano previsto questa possibilità, per cui la gestione di più host sulla singola macchina doveva essere implementata con un trucco. Consistente nell’assegnare più indirizzi alla stessa interfaccia e nel distinguere ogni host virtuale attraverso il suo IP. Questa tecnica è conosciuta come IP-Intensive virtual hosting. Con HTTP 1.1, gli host virtuali possono essere creati assegnando più nomi allo stesso indirizzo IP. Il browser , quindi invia una intestazione Host per specificare il server web con il quale vuole comunicare.