Method HEAD
El meu objetiu es que el server web sigi el més estandar posible. Una de les pases per aconseguir, és que pugi acceptar més methods que simplement GET's.
Per a ser "validat" com a HTTP 1.1 basta acceptar GETs i HEADs, i l'unic que diferència el HEAD del GET es que amb el HTTP Response no s'inclouen les dades que es demanen al HTTP Request. Com ja sabeu, un response es forma a partir dels headers i les dades; ido en el cas d'una petició HEAD domés es retornen els headers, les dades NO.
Aixó es molt facil d'implementar. Per a saber si ens trobam davant un method GET o HEAD, empram aquest codi (una vegada que ja hem lletgit el HTTP Request del socket).
if(request[0] == 'G' && request[1] == 'E' && request[2] == 'T') {
method = GET;
longi = 5;
}
else {
method = HEAD;
longi = 6;
}
Si algú té una suggerencia per a fer la comprovació anterior més "elegant", sóc tot orelles ;). Com podeu imaginar, abans hem definit el GET i el HEAD ..
#define GET 0
#define HEAD 1
Ara que ja sabem si tenim un GET o un HEAD, el que em de fer es afegir les dades en cas de que sigi un GET.
if(method == GET) {
strcat(response,data);
}
Com veis, és una "pixarada de ca", com es diu per aqui. Encara no he penjat la nova versió perque aquests dies estic sense ordenador, perque la font d'alimentació es va cansar de treballar sense descans i va dir prou, i com que no he pogut probar-ho com toca no vull penjar un codi que façi coses extranyes (encara que no seria la primera vegada .. :D).
El pròxim objectiu: que presenti imatges, i no tan sols texte plà i pagines html.
Fins una altra!
Per a ser "validat" com a HTTP 1.1 basta acceptar GETs i HEADs, i l'unic que diferència el HEAD del GET es que amb el HTTP Response no s'inclouen les dades que es demanen al HTTP Request. Com ja sabeu, un response es forma a partir dels headers i les dades; ido en el cas d'una petició HEAD domés es retornen els headers, les dades NO.
Aixó es molt facil d'implementar. Per a saber si ens trobam davant un method GET o HEAD, empram aquest codi (una vegada que ja hem lletgit el HTTP Request del socket).
if(request[0] == 'G' && request[1] == 'E' && request[2] == 'T') {
method = GET;
longi = 5;
}
else {
method = HEAD;
longi = 6;
}
Si algú té una suggerencia per a fer la comprovació anterior més "elegant", sóc tot orelles ;). Com podeu imaginar, abans hem definit el GET i el HEAD ..
#define GET 0
#define HEAD 1
Ara que ja sabem si tenim un GET o un HEAD, el que em de fer es afegir les dades en cas de que sigi un GET.
if(method == GET) {
strcat(response,data);
}
Com veis, és una "pixarada de ca", com es diu per aqui. Encara no he penjat la nova versió perque aquests dies estic sense ordenador, perque la font d'alimentació es va cansar de treballar sense descans i va dir prou, i com que no he pogut probar-ho com toca no vull penjar un codi que façi coses extranyes (encara que no seria la primera vegada .. :D).
El pròxim objectiu: que presenti imatges, i no tan sols texte plà i pagines html.
Fins una altra!