|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
|
Proxy server Web in C (Linux)
Ciao gente,
il mio problema è come invio un file al browser,cioè in che modo divido il pacchetto,l'Header Http e il corpo messaggio che devo scrivere sul socket. io ho la funzione write(descrittore,messaggio,0) : Ho provato a fare un client da Prompt e il messaggio che invio viene ricevuto. Se lo mando al browser invece non và. Devo scrivere davanti l' Header Http? Se si, come? Potete farmi un esempio di write dove il browser deve visualizzare una stringa tipo "Questa è una prova" inviata dal mio server? Oppure meglio, comemandare un file HTML presente sul disco.. Ma è vero che il mio server deve essere per forza sulla porta 80 ? Vi ringrazio, anche se la domanda sarà per pochi "intnditori" ![]() P.S. Sapete se Online ci sono guide sull' argomento? io non le ho trovate. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Re: Proxy server Web in C (Linux)
Ovviamente devi anche inviare gli header oltre al codice HTML...gli stessi header che il server HTTP invia al tuo proxy...
Il tuo proxy tiene anche una cache ? |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
|
si,pure una cache dobbiamo fare.
Nella write però, che stringa ci metto?E' qui che devo inserire l'header come testo normale? Puoi farmi un esempio di scrittura sul socket di un pacchetto IP, in modo che il browser visualizzi una scritta? grazie |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Basta prendere quello che ti da in output un server HTTP ad una richiesta...
Apri telnet e ti connetti sulla porta 80 di un server HTTP... Poi scrivi : GET / HTTP/1.1 Host: www.tuoserver.com Ovviamente al posto di tuoeserver.com ci scriverai l'indirizzo giusto del server... Premi due volte invio ed i questo modo ottieni la risposta di un server HTTP e noterai che gli header vengono inviati come semplice testo precedendo l'HTML... |
![]() |
![]() |
![]() |
#5 | |
Member
Iscritto dal: Jan 2003
Messaggi: 92
|
Quote:
fa una descrizione dettagliata di ogni singolo campo che deve essere contenuto negli header di risposta e di richiesta di ogni comunicazione http. ecco il link all'RFC http://www.w3.org/Protocols/rfc2616/rfc2616.html |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
|
THX, ora funge!
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:03.