[so] [Tema 5] Neclaritati enunt

Costin Lupu costin.lup at gmail.com
Thu May 17 23:08:59 EEST 2018


Salutare, Cătălin,

On 05/17/2018 09:13 PM, Catalin Neagu via so wrote:
> Salut,
> 
> Am cateva intrebari legate de enuntul problemei.
> 
> 1.1 Din cate am inteles din enunt, cererile vor fi siruri de caractere
> care respecta protocolul http. Ca si informatie utila din aceaste
> cereri, mai e ceva pe langa request path-ul pentru fisier?

Nu, doar request path-ul e de interes.

> 1.2 Ne vor trebui si alte functii de callback pe care sa le includem in
> http_parser_settings pentru http_parser_execute?

Nu, e suficientă extragerea path-ului.

> 2.1 Cum anume va trebui sa fie raspunsul pentru o cerere valida? Trimit
> pur si simplu fisierul si apoi trimit un mesaj de genul "HTTP/1.0 200
> OK\r\n"? Sau trebuie sa integrez continutul fisierului intr-un sir de
> caractere care are pe langa si alte campuri cum ar fi "Content-Length:"
> si altele asemenea?

Ca în orice mesaj HTTP, mai întâi trimiți header-ul și apoi payload-ul
(în cazul ăsta conținutul fișierului). Evident că header-ul va conține
și câmpul "Content-Length". Ai câte un exemplu de răspuns HTTP în
directoarele 'samples' din repo.

> 2.2 Cum anume va trebui trimis un fisier folosind mecanismul de
> zero-copy? Referitor la intrebarea de mai sus. Acesta nu prea poate fi
> adus in memoria procesului pentru acea integrare intr-un mesaj de tip
> HTTP din cate imi dau seama.

Dacă ai trimis header-ul, după aceea payload-ul îl poți trimite cum vrei
(cu sau fără zero-copy).

> 2.3 Cum anume arata o cerere invalida? O cerere care are un path care nu
> duce catre nici un fisier si atat? Sau mai sunt si alte campuri din
> cerere de care trebuie tinut cont?

Dacă header-ul e invalid, atunci va da eroare la parsare. Dacă e valid,
atunci va trebui să verifici doar path-ul, așa cum ai menționat.


Costin


More information about the so mailing list