Server web: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
(228 versioni intermedie di oltre 100 utenti non mostrate) | |||
Riga 1:
[[
In [[informatica]] un '''server web''' è un [[Applicazione (informatica)|software]] in esecuzione su un sistema [[server]], in grado di gestire le richieste di trasferimento di [[pagina web|pagine web]] da un [[client]] che ne fa richiesta, tipicamente un [[web browser]] o un [[web crawler]]<ref>{{Cita web|url=https://economictimes.indiatimes.com/definition/web-server|titolo=What is Web Server? Definition of Web Server, Web Server Meaning|sito=The Economic Times|accesso=2021-10-27}}</ref>. La comunicazione tra server e client avviene tramite il protocollo [[HTTP]], che utilizza la [[porta (reti)|porta]] [[Transmission Control Protocol|TCP]] 80 (o 8080), o eventualmente la versione sicura [[HTTPS]], che utilizza invece la 443. Su un server web risiedono dunque i [[sito web|siti web]] tramite [[hosting]]. Un server Web può anche accettare e archiviare risorse inviate dall'agente utente, se configurato per farlo. L'insieme di tutti i server web interconnessi a livello mondiale dà vita al [[World Wide Web]]<ref>{{Cita web|url=https://domhtml.ru/struktura-sajta-seo/|titolo=Struttura del sito corretta. Requisiti, classificazione, SEO|sito=|data=|lingua=|accesso=}}</ref>.
== Descrizione ==
[[File:Apache-tomcat-frontpage-epiphany-browser.jpg|thumb|[[Screenshot]] di [[Apache Tomcat]]]]
[[File:HTTPFileServer.png|thumb|Screenshot di [[HTTP File Server]]]]
Teoricamente un qualsiasi dispositivo per cui sia disponibile qualche software che agisca come server web può diventare un server web, ma solitamente i dispositivi che ospitano server web sono sistemi [[hardware]] dedicati e ottimizzati a tale scopo. Ad esempio si può [[installazione (informatica)|installare]] un server web su un normale [[personal computer|PC]] allo scopo di testare in locale un insieme di [[sito web|pagine web]] oppure per consentire l'accesso ai propri documenti da altri client [[host]], sia in [[rete locale]], sia via [[Internet]]<ref>{{Cita web|url=https://www.laramind.com/blog/web-server-cosa-sono-perche-sono-importanti/|titolo=I server web: cosa sono e perché sono di fondamentale importanza|data=2016-06-14|accesso=2021-10-27}}</ref>.
Il software del server Web è accessibile tramite i nomi di dominio dei siti Web e garantisce la consegna del contenuto del sito all'utente richiedente. Anche il lato software è composto da diversi componenti, con almeno un server HTTP. Il server HTTP è in grado di comprendere HTTP e URL. Come hardware, un server Web è un computer che memorizza il software del server Web e altri file relativi a un sito Web, come documenti HTML, immagini e file JavaScript.
Quando un browser web, come [[Google Chrome]] o [[Mozilla Firefox|Firefox]], necessita di un file ospitato su un server web, il browser richiederà il file tramite HTTP<ref>{{Cita web|url=https://it.gadget-info.com/difference-between-web-browser|titolo=Differenza tra browser Web e server Web|sito=it.gadget-info.com|accesso=2021-10-27}}</ref>. Quando la richiesta viene ricevuta dal server web, il server HTTP accetterà la richiesta, troverà il contenuto e lo re-invierà al browser tramite HTTP<ref name=":0">{{Cita web|url=https://www.ionos.it/digitalguide/server/know-how/tutto-quello-che-ce-da-sapere-sui-web-server/|titolo=Cos’è un server web? E con quali software funziona?|sito=IONOS Digitalguide|accesso=2021-10-27}}</ref>.
Nello specifico, quando un browser richiede una pagina da un server web, il processo seguirà una serie di passaggi. Innanzitutto, un utente specificherà un URL nella [[barra degli indirizzi]] di un browser web. Il browser web otterrà quindi l'indirizzo IP del nome di dominio, traducendo l'[[Uniform Resource Locator|URL]] tramite DNS ([[Domain Name System]]) o effettuando una ricerca nella sua [[cache]]. Questo porterà il browser su un server web. Il browser richiederà quindi il file specifico dal server Web tramite una richiesta HTTP. Il server web risponderà, inviando al browser la pagina richiesta, sempre tramite HTTP. Se la pagina richiesta non esiste o se qualcosa va storto, il server web risponderà con un messaggio di errore. Il browser sarà quindi in grado di visualizzare la pagina web<ref>{{Cita web|url=https://giselda.altervista.org/reti1.php|titolo=server web|sito=giselda.altervista.org|accesso=2021-10-27}}</ref>.
È inoltre possibile ospitare più domini su un server Web<ref name=":0" />.
=== Esempi di usi del server web ===
I server web spesso fanno parte di un pacchetto più ampio di programmi relativi a [[Internet]] e [[intranet]] utilizzati per<ref name=":1">{{Cita web|url=https://whatis.techtarget.com/definition/Web-server|titolo=What is a Web Server and How Does it Work?|sito=WhatIs.com|lingua=en|accesso=2021-10-27}}</ref>:
* inviare e ricevere [[Posta elettronica|email]];
* [[download]] di richieste di file FTP ([[File Transfer Protocol]]);[[File:Ftp4.png|alt=Esempio di FTP|miniatura|280x280px|Esempio di FTP]]
* creazione e pubblicazione di [[Pagina web|pagine web]].
Molti server Web di base supportano anche lo scripting lato server, utilizzato per utilizzare script su un server Web in grado di personalizzare la risposta al client. Lo scripting lato server viene eseguito sulla macchina server e in genere ha un ampio set di funzionalità, che include l'accesso al database. Il processo di scripting lato server utilizzerà anche ASP, [[PHP]] e altri linguaggi di scripting. Questo processo consente anche la creazione dinamica di documenti HTML<ref name=":1" />.
=== Server web dinamici e statici ===
Un server web può essere utilizzato per servire contenuti statici o dinamici. Statico si riferisce al contenuto mostrato così com'è, mentre il contenuto dinamico può essere aggiornato e modificato. Un server [[web statico]] sarà composto da un computer e da un software [[Hypertext Transfer Protocol|HTTP]]. È considerato statico perché il server invierà i file ospitati così come sono a un browser<ref name=":2">{{Cita web|url=https://www.geeksforgeeks.org/difference-between-static-and-dynamic-web-pages/|titolo=Difference between Static and Dynamic Web Pages|sito=GeeksforGeeks|data=2019-05-23|lingua=en|accesso=2021-10-27}}</ref>.
I [[Browser|browser Web]] dinamici saranno costituiti da un server web e da altro software come un server di applicazioni e un [[Base di dati|database]]. È considerato dinamico perché il server delle applicazioni può essere utilizzato per aggiornare i file ospitati prima che vengano inviati a un browser. Il server web può generare contenuto quando richiesto dal database. Sebbene questo processo sia più flessibile, è anche più complicato<ref name=":2" />.
Ad esempio, per produrre le pagine Web finali visualizzate nel browser, il server web potrebbe riempire un modello [[HTML]] con il contenuto di un database. Siti come [[Wikipedia]] hanno migliaia di pagine web. In genere, questi tipi di siti sono composti solo da pochi modelli HTML e un database compatibile, piuttosto che da migliaia di documenti HTML statici. Questa configurazione semplifica la manutenzione e la distribuzione dei contenuti<ref name=":1" />.
=== Pratiche di sicurezza relative al server web ===
Esistono molte pratiche di sicurezza relative all'uso del server web che le persone possono impostare per rendere la loro esperienza più sicura. Alcuni esempi possono comprendere i seguenti processi:
* un [[proxy]] inverso, progettato per nascondere un server interno e fungere da intermediario per il traffico proveniente da un server interno;
* restrizione dell'accesso attraverso processi come la limitazione dell'accesso dell'[[Host|host web]] alle macchine dell'infrastruttura
* utilizzo di Secure Socket Shell ([[SSH File Transfer Protocol|SSH]]);
[[File:SSH diagram.png|alt=Diagramma SSH|miniatura|360x360px|Diagramma SSH]]
* mantenere i server web aggiornati per garantire che essi non siano vulnerabili;
* monitorare la rete per assicurarsi che non ci siano attività non autorizzate;
* utilizzo di un [[firewall]] poiché può monitorare il traffico HTTP;
* disporre di un [[Secure Socket Layer]] può aiutare a proteggere i dati.
Un server web deve archiviare i file del [[sito web]], ovvero tutti i documenti HTML e le relative risorse, inclusi immagini, fogli di stile [[CSS]], file [[JavaScript]], font e video<ref>{{Cita web|url=https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Upload_files_to_a_web_server|titolo=How do you upload your files to a web server? - Learn web development {{!}} MDN|sito=developer.mozilla.org|lingua=en|accesso=2021-10-27}}</ref>.
Tecnicamente si potrebbero ospitare tutti quei file sul proprio computer, ma è generalmente più conveniente archiviare tutti i file su un server web perché<ref>{{Cita web|url=https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_server|titolo=What is a web server? - Learn web development {{!}} MDN|sito=developer.mozilla.org|lingua=en|accesso=2021-10-27}}</ref>:
* Un server web è in genere sempre disponibile.
* Esclusi tempi di crash e altri problemi di sistema, un server web dedicato è sempre connesso a Internet.
* Un server web può avere sempre lo stesso [[indirizzo IP]]. Questo è noto come ''indirizzo IP dedicato'', anche se non tutti gli ISP forniscono un indirizzo IP fisso per le linee domestiche.
* Un server web è in genere gestito da una terza parte.
=== Scalabilità ===
La [[scalabilità]] è verticale e orizzontale. Per scalabilità verticale si intende la creazione di un sistema con molti processori e per orizzontale si intende la combinazione di sistemi informatici in un'unica risorsa di elaborazione virtuale.<ref>[https://wiki.iphoster.net/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 Scalabilità del server]</ref>
=== Elenco dei software per server web più diffusi ===
{{vedi categoria|Server web}}
[[File:Apache HTTP server logo (2019-present).svg|miniatura|290x290px|Logo di Apache HTTP Server]]
* [[Apache HTTP Server]]
* [[Apache Tomcat]]
* [[Caddy (server web)|Caddy]]
* [[Cassini Server Web]]
* [[ColdFusion]]
* [[HTTP File Server]]
* [[Internet Information Services]] (IIS)
* [[KLone]]
* [[Lighttpd]]
* [[Mongoose]]
* [[NCSA HTTPd]]
* [[
* [[PowerFolder]]
* [[
* [[
== Galleria d'immagini ==
<gallery>
File:Client&Web Server.png|alt=Concept di Firewall e server web|Concept di Firewall e server web
File:Web API.png|alt=Concept di server web|Concept di server web
File:Inside and Rear of Webserver.jpg|alt=Interno di un server web|Interno di un server web
</gallery>
==Note==
<references/>
== Voci correlate ==
* [[Server farm]]
* [[Centro elaborazione dati]]
* [[Common Gateway Interface]]
== Altri progetti ==
{{interprogetto|preposizione=sul}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|HTTP server|HTTP server}}
{{Controllo di autorità}}
{{Portale|internet|telematica}}
[[Categoria:Server web| ]]
|