I server proxy svolgono un importante ruolo nell’architettura Web, perché forniscono un’ottimizzazione che riduce i tempi di latenza e il carico sui server. Ovviamente il browser deve essere opportunamente configurato per contattare un proxy locale invece della sorgente originale e il proxy deve essere configurato per memorizzare nella sua cache copie delle pagine Web.
La prima volta che un utente accede ad una determinata pagina Web, il proxy deve ottenerne una copia dal server che la gestisce, la memorizza nella sua cache e ritorna la pagina come risposta alla richiesta. La volta successiva che un utente accede alla stessa pagina, il proxy estrae i dati dalla sua cache senza inviare richieste attraverso Internet. Di conseguenza, il traffico su Internet è significativamente ridotto.
HTTP include un supporto esplicito per i server proxy: il protocollo specifica esattamente come un proxy deve gestire ogni richiesta, come deve interpretare le intestazioni, come un browser deve trattare con un proxy e come un proxy deve trattare con un server.
Il problema centrale in tutti gli schemi di memorizzazione in cache riguarda la temporizzazione. Da una parte, conservare troppo a lungo una copia memorizzata nella cache fa sì che diventi “vecchia”, il che significa che le modifiche all’originale non si riflettono sulla copia. D’altra parte, se questa non rimane abbastanza a lungo, si hanno problemi di efficienza, perché la richiesta successiva deve ritornare al server. HTTP consente di gestire questo problema in due modi: impostando un timeout o utilizzando If-Modified-Since.

Un importante aspetto dei server proxy è che per la loro natura, forniscono una certa anonimia.
Il server proxy è lo strumento migliore per navigare in Internet in modo anonimo, senza lasciare traccia e visitare siti, inviare posta, utilizzare chat, senza essere mai riconosciuti.
Abbiamo visto come un server proxy si interpone fra il proprio computer e Internet, facendo da intermediario per il tutto il traffico di dati sia in uscita che in entrata. In pratica, se utilizzato in una rete locale, è l’unico ad avere accesso alla rete esterna. Il che vuole dire che non saranno le identità dei singoli computer a viaggiare in rete, ma solamente quella del proxy.
Siccome ogni computer collegato alla rete ha un indirizzo IP che accompagna tutta l’attività in rete, qualsiasi sua azione è resa facilmente identificabile. Pertanto, navigare utilizzando un proxy vuol dire poter navigare con una identità generica, e solamente leggendo le registrazioni del proxy sarà possibile conoscere il vero indirizzo IP del computer. Per questo motivo l’utilizzo del proxy fa anche da ostacolo per i malintenzionati che potrebbero tentare di risalire dalla rete al client.

Anche se, in genere, utilizzati nelle LAN private, esiste un certo numero di server proxy pubblicamente utilizzabili (volontariamente o per caso) anche dall’esterno. Usando Internet Explorer, ad esempio, si può specificare di voler utilizzare un server proxy, indicando l’indirizzo e la porta di uno di questi.
Questa caratteristica dei server proxy può garantire una certa privacy, ma può anche essere sfruttata da malintenzionati per compiere azioni poco lecite, con buone garanzie di non essere rintracciati.
Per un maggior grado di sicurezza, è possibile concatenare più server proxy: più è lunga la catena e più sarà difficile trovare tracce del client. In questo modo, solo il primo proxy della catena conosce la vera identità del client. Per poter utilizzare una catena, bisogna specificare l’URL nella seguente maniera:

http://Proxy1:Porta1/http://Proxy2:Porta2/http://www.Sito.it/

 Nome=Contenuto; expires=Scadenza; domain=NomeDominio; path=Percorso; secure=false|true; 	
 document.cookie = 'miocookie=prova di scrittura del cookie';	
 var Nome = 'miocookie';
 var Contenuto = 'prova di scrittura del cookie';
 var Scadenza = new Date();
 
 Scadenza.setTime(Scadenza.getTime() + (10*24*60*60*1000));
 document.cookie = Nome + '=' + Contenuto + '; expires=' + Scadenza.toGMTString();
function scriviCookie(Nome,Contenuto,Durata) {
  var Scadenza = new Date();
  Scadenza.setTime(Scadenza.getTime() + (parseInt(Durata) * 60000));
  document.cookie = Nome + '=' + escape(Contenuto) + '; expires=' + Scadenza.toGMTString() + '; path = /';
}
 scriviCookie('miocookie','prova di scrittura del cookie',10*24*60);
function cancellaCookie(Nome) {
  scriviCookie(Nome,'',-1);
}
function leggiCookie(Nome) {
  var Contenuto = document.cookie;                                 //  (2)
  if (Contenuto.length > 0) {                                      //  (3)
    var inizio = Contenuto.indexOf(Nome + "=");                    //  (4)
    if (inizio != -1) {                                            //  (5)
      inizio = inizio + Nome.length + 1;                           //  (6)
      var fine = Contenuto.indexOf(";",inizio);
      if (fine == -1) fine = Contenuto.length;
      Contenuto = unescape(Contenuto.substring(inizio,fine));      //  (9)
    } else Contenuto = "";                                         // (10)
  } else Contenuto = "";                                           // (11) 
  return Contenuto;                                                // (12)
}
function testCookie() {
  document.cookie = 'zigzag';
  if (document.cookie.indexOf('zigzag') != -1) return true;
  else return false;
}

<div id='mypopup01' name='mypopup01' style='position: fixed; width: 250px; height: 160px; 
     display: none; background: #a0f0a0; border: 1px solid #000000; right: 50px; top: 300px'>

     <p align='center'>
        <b>Contenuto del Popup</b><br><br><img src='html/popup.jpg' border='0'>
     </p>
</div> 


<input type='submit' value=' ON ' onClick='document.getElementById("mypopup01").style.display="block"'>
<input type='submit' value=' OFF ' onClick='document.getElementById("mypopup01").style.display="none"'>


     . . . . . .

     <p align='center'>
        <b>Contenuto del Popup</b><br><br><img src='html/popup.jpg' border='0'>
        <br><input type='submit' value=' OFF ' onClick='document.getElementById("mypopup02").style.display="none"'>
     </p>
</div> 


<script>
function PopupClose03() {
  document.getElementById("mypopup03").style.display = "none";
}
</script>

<div id='mypopup03' name='mypopup03' style='width: 380px; height: 200px; display:none; position: fixed; top: 300px; right: 50px;'>
<table width='380' cellpadding='0' cellspacing='0' border='0'>
<tr>
<td><img height='23' width='356' src='html/pop-title.jpg'></td>
<td><a href='javascript:PopupClose03();'><img height='23' width='24' src='html/pop-close.jpg' border='0'></a></td>
</tr>
<tr><td colspan='2' style='background: url("html/pop-body.jpg") no-repeat top left; width: 380px; height: 177px;' align='center'>
<b>Contenuto del Popup</b><br><br><img src='html/popup.jpg' border='0'>
</td></tr>
</table>
</div>


<input type='submit' value=' ON ' onClick='document.getElementById("mypopup04").style.display="block"; window.setTimeout("PopupClose04()",5000);'>



<script>
function setOpacity( value ) {
 document.getElementById("mypopup05").style.opacity = value / 10;
 document.getElementById("mypopup05").style.filter = 'alpha(opacity=' + value * 10 + ')';
}

function PopupClose05() {
 for( var i = 0 ; i <= 100 ; i++ ) {
   setTimeout( 'setOpacity(' + (10 - i / 10) + ')' , 8 * i );
 }
 setTimeout('mypopup05Close()', 800 );
}

function mypopup05Close() {
 document.getElementById("mypopup05").style.display = "none"
}

function PopupOpen05() {
 document.getElementById("mypopup05").style.display = "block";
 window.setTimeout("PopupClose05()",5000);
}
</script>

<div id='mypopup05' name='mypopup05' style='width: 380px; height: 250px; display:none; position: fixed; top: 300px; right: 50px; zoom: 1'>
<table width='380' cellpadding='0' cellspacing='0' border='0'>
<tr>
<td><img height='23' width='356' src='html/pop-title.jpg'></td>
<td><a href='javascript:PopupClose05();'><img height='23' width='24' src='html/pop-close.jpg' border='0'></a></td>
</tr>
<tr><td colspan='2' style='background: url("html/pop-body.jpg") no-repeat top left; width: 380px; height: 227px; font-size: 10pt; text-decoration: blink' align='center'>
<b>Contenuto del Popup</b><br><i>(Mi dissolverò tra 5 sec.)</i><br><br><img src='html/popup.jpg' border='0'>
</td></tr>
</table>
</div>

<input type='submit' onClick='PopupOpen05();' value=' ON 5 '>



localhost/~alunno
localhost/~alunno/ItisMarconi
localhost/~alunno/AltaModa
localhost/~alunno/TuttoSport
localhost/~alunno/Spettacoli
localhost/~alunno/Gourmet
<?php
  phpinfo();
?>