<div dir="auto"><span style="font-family:sans-serif">Am inteles, imi e mai clar acum.</span><div dir="auto" style="font-family:sans-serif">Multumesc frumos pentru raspunsuri!</div><div dir="auto" style="font-family:sans-serif"><br></div><div dir="auto" style="font-family:sans-serif">O seara buna,</div><div dir="auto" style="font-family:sans-serif">Catalin</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, May 17, 2018, 11:10 PM Razvan Crainea <<a href="mailto:razvan.crainea@gmail.com">razvan.crainea@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, May 17, 2018 at 9:13 PM Catalin Neagu via so <<a href="mailto:so@cursuri.cs.pub.ro" target="_blank" rel="noreferrer">so@cursuri.cs.pub.ro</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Salut,<br><br></div>Am cateva intrebari legate de enuntul problemei.<br><br>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?<br></div></blockquote><div>Da, în cadrul temei doar path-ul este util. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><br></div>1.2 Ne vor trebui si alte functii de callback pe care sa le includem in http_parser_settings pentru http_parser_execute?<br></div></div></div></div></div></div></blockquote><div>Vă trebuie doar callback-ul care se apelează după ce este identificat path-ul.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><br></div>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?<br></div></div></div></div></div></blockquote><div>Pe lângă first line-ul (200 OK) care este obligatoriu, trebuie să trimiți și "Content-Length". </div><div>HTTP este un protocol la nivel aplicație care rulează peste TCP. Peste TCP se trimit stream-uri de date; asta înseamnă că la nivel de TCP nu poți să-ți dai seama dacă pachet-ul anterior s-a terminat de trimis, sau mai vin date pe același stream. Drept urmare, dacă tu nu trimiți header-ul "Content-Length:", cel care citește răpsunsul tău, nu va putea știi dacă tu ai trimis tot body-ul din răspuns, sau urmează să mai trimiți.</div><div>De asemenea, este indicat să trimiți și header-ul de "Content-Type:", pentru ca cel care primește răspunsul să știe cum să-l interpreteze.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><br></div>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.<br></div></div></div></div></blockquote><div>Nu mi-e clară întrebarea ta. În principiu trebuie să trimiți header-ul HTTP al răspunsului, apoi fișierul pe socket-ul conexiunii.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><br></div>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? <br></div></div></div></blockquote><div><br></div><div>O cerere care nu are un path, sau duce către un path inexistent.</div><div><br></div><div>PS: am modificat subliectul în Tema 5</div><div><br></div><div>Sper că e clar acum. Spor!</div><div>Răzvan</div></div></div>
</blockquote></div>