|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Oct 2007
Messaggi: 6
|
[C] web proxy server
Salve a tutti,questo è il mio primo post quindi mi scuso in anticipo se commetto degli errori..
ho bisogno di un aiutino nel realizzare in ambiente Unix (naturalmente in C) un server proxy,in particolare sto focalizzando la mia attenzione sulla parte che realizza il controllo e caching delle richieste e risorse HTTP. grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
A me mi è capitato per puro gusto di provare a sviluppare un web server, ed è essenziale avere sempre a portata di mano le specifiche!
http://www.w3.org/Protocols/rfc2616/rfc2616.html Qui trovi tutte le indicazioni su come dovrebbe funzionare l'http.... la base di tutto .... poi su come gestire cache internamente buona fortuna, ma su internet trovi diverse informazioni in giro tipo: http://it.wikipedia.org/wiki/Cache qui parti dalla base ed arrivi nello specifico .... per le librerie da utilizzare nella implementazione della comunicazione di rete, poi partire sia dalla base cioè i socket .... o magari trovarti una libreria qualsiasi su internet ne esistono diverse ... ma c'è meno gusto Ultima modifica di tglman : 15-11-2007 alle 10:28. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Cosa vorresti sapere in particolare ?
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Oct 2007
Messaggi: 6
|
vorrei sapere un pò come devo strutturare il codice,cioè ke linee guida devo seguire
grazie |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Per la struttura del software puoi prevedere la classica di un server
cioè un thread in ascolto che ricevuta una richiesta apre un'altro thread che gestisce la richiesta, ed ogni thread di gestione si occupera di effettuare il controllo della presenza della risorsa richiesta nella cache e l'eventuale recupero della risorsa da remoto per poi ridepositarla nella cache. Logicamente la cache nell'applicazione è unica quindi devi gestire la concorrenza sul suo utilizzo. nn dimenticare comunque di controllare che la tua risorsa in cache sia allineata con quella remota Ultima modifica di tglman : 15-11-2007 alle 10:52. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Io preferire una struttura simile alla prefork (usata anche da Apache), ma con i thread.
In una struttura non limitata superiormente (nel numero dei thread) all'aumentare delle richieste si andrebbe incontro ad un deterioramento delle prestazioni. Io farei uno riceve le richieste e le va a mettere in una coda condivisa. N thread che eseguono le richieste a ciclo continuo (non muiono mai) andandole a prelevare dalla coda. Inoltre il processo principale lancia periodicamente (ad esempio ogni minuto) un nuovo thread che monitora lo stato dei thread serventi e se, per qualsiasi motivo, uno muore, va lanciarne uno nuovo. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
concordo pienamente con cionci
devo dire che cosi hai molti meno problemi di performance e sicurezza ed un'architettura un pò più inteligente rispetto alla mia sbrodolata |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:23.



















