[ Predrag Damnjanovic @ 28.09.2003. 17:00 ] @
Pravim http client, ne zato sto nemam sta da radim, vec zato sto moram, u pitanju je komercijalna aplikacija, koja treba da vrsi update preko http protokola.

E sad, kad ja zatrazim neki manji fajl, dobijem ovo:
Code:

HTTP/1.1 200 OK
Date: Sun, 28 Sep 2003 15:43:50 GMT
Server: Apache/1.3.24 (Unix)
Last-Modified: Sat, 27 Sep 2003 20:44:59 GMT
ETag: "e7417-b-3f75f6cb"
Accept-Ranges: bytes
Content-Length: 11
Connection: close
Content-Type: text/plain

OVO JE SADRZAJ FAJLA


Ovo je OK, ali, cudna stvar se desava kada zatrazim malo veci fajl, na pocetku mi umetne broj "1000", a na kraju ispise "0", evo primera:

Code:

HTTP/1.1 200 OK
Date: Sun, 28 Sep 2003 15:39:38 GMT
Server: Apache/1.3.24 (Unix)
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html

1000
Ovde pocinje sadrzaj, koji sam skratio. Ovde zamislite da je kraj.
0




Osim sto mi udario nulu na kraju, udario je i dve prazne linije posle nule.
O cemu se ovde radi?

Gde da nadjem objasnjenje za ovo?
Gledao sam HTTP RFC, ali on je suvise veliki da bi za neko normalno vreme nasao ovo sto me zanima.
Imate li neki komentar, bilo kakav?
[ filmil @ 28.09.2003. 17:14 ] @
Citat:
Predrag Damnjanovic:
Code:

Transfer-Encoding: chunked


http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1

[Ovu poruku je menjao filmil dana 28.09.2003. u 19:15 GMT]
[ -zombie- @ 28.09.2003. 17:14 ] @
Citat:

Transfer-Encoding: chunked


obrati pažnju na ovo. ovo znači da ti sadržaj šalje u "člankovima" tj u delovima (valjda zato što se pokazalo da je to bolje za perfomanse, pa još može da se kompresuje bolje etc..), a ti projevi (1000 i 0) su veličine tih delova (u bajtovima).

e sad, ako pitaš zašto tako radi, pa zato što si mu ti rekao da znaš to da hendluješ čim si se predstavio kao HTTP/1.1 klijent. predstavi se kao HTTP/1.0 i imaćeš mnogo manje opcija i spec slučaja koje treba da hendluješ.

i pogledaj RFC za http 1.0, mnogo je "lakši" od 1.1.


i btw, ipak moram da te pitam. zašto to radiš (kao da stvarno nemaš šta da radiš ;). pa imaš toliko biblioteka za to. recimo, najpopularniji ti je libcurl. potraži... open source, cross platform i sve...
[ Predrag Damnjanovic @ 28.09.2003. 17:26 ] @
OK, pretpostavljao sam da je zbog Chunked, bas sam poceo da citam malopre objasnjenje za to.
Resen problem sa HTTP/1.0.
Hvala