Łukasz
C.
Senior Technical
Architect
Temat: protokol HTTP, pliki binarne
Witam,jest sobie pewien serwerek http ktory otrzymuje request od klienta. Request jest "plikiem" php tak wiec poprzez cos a'la cgi zostaje uruchomiony php cli i w trakcie jego dzialania jest pobierany output z php. Ze wzgledu na rozne phpowe niuanse naglowek jest tworzony po stronie php. Rzadanie ma "zwrocic" plik binarny (np: pdf, xlsx) ktory jest generowany w locie.
GET /index.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
natomiast odpowiedz serwera:
HTTP/1.x 200 OK
Date: Tue, 02 Feb 2010 14:11:17 GMT
Server: XXX Shit Server
Content-Length: 1234
Content-Transfer-Encoding: binary
Content-Disposition: attachment; filename=dupa.pdf;
Content-Type: application/x-pdf
i wszystko niby dziala tzn: pokazuje sie okienko w przegladarce z wyborem gdzie zapisac plik, rozpoczyna sie download i .... zwis :S
sprawdzilem, naglowek i dane sa wysylane, content-length jest podane poprawnie wiec wtf :D?
czy ma ktos pomysl co w tym naglowku brakuje?
przegladarka zachowuje sie tak jakby nie wszystko zostalo wyslane i czeka na reszte danych.
czy dane binarne sa w jakis sposob kodowane?Łukasz Cepowski edytował(a) ten post dnia 02.02.10 o godzinie 15:29