|
|
Postitatud 24.09.2019 18:07:57
|
|
|
|

1. Taust:
- Püsivad ühenduse probleemid: Mittepüsivate ühenduste puhul saab brauser määratleda päringu või vastuse üksuse piirid selle järgi, kas ühendus on maas või mitte; Pidevate ühenduste puhul see lähenemine ilmselgelt ei tööta. Mõnikord, kuigi olen kõik andmed saatnud, ei tea brauser, kas avatud ühenduses tuleb uusi andmeid, nii et see lihtsalt ootab.
- Lahenda sisupikkusega: arvuta entiteedi pikkus ja ütle teisele osapoolele pea kaudu. Brauser saab vastuse üksuse lõppu Content-Length pikkuse info järgi teada
- Uus probleem sisupikkusega: Kuna sisupikkuse väli peab tõepoolest peegeldama entiteedi pikkust, on dünaamiliselt genereeritud sisu pikkus teadmata enne, kui sisu on loodud. Praegu, et saada täpset pikkust, saab avada ainult piisavalt suure puhvri ja oodata, kuni kogu sisu on genereeritud, enne kui arvutad. Kuid see nõuab ühelt poolt rohkem mälukoormust ja teiselt poolt paneb kliendi kauem ootama.
- Meil on vaja uut mehhanismi, mis ei sõltu päise pikkusest ja tunneb entiteetide piire – Transfer-Encoding: chunked.
2. Ülekande-kodeerimine (killustatud)
- Ülekande-kodeerimine on HTTP päise väli (vastuse päise väli), mis tähendab sõna-sõnalt "ülekande kodeeringut". Viimane HTTP spetsifikatsioon määratleb ainult ühe kodeerimistranspordi tüübi: chunked.
- Killustatud ülekande kodeerimine on andmeedastuse mehhanism Hypertext Transfer Protocolis (HTTP), mis võimaldab veebiserveri poolt kliendile saadetud HTTP andmeid jagada mitmeks osaks. Plokitranspordi kodeerimine on saadaval ainult HTTP protokolli versioonis 1.1 (HTTP/1.1).
- Andmed jagatakse jadadeks, mis saadetakse üheks või mitmeks plokkideks, et server saaks andmeid saata ilma eelnevalt teadmata saadetud sisu kogusuurust.
Spetsiifilised meetodid
- Pärast Transfer-Encoding: chunked lisamist päisesse tähendab see, et pakett on chunked. Sellisel juhul tuleb paketis olevad üksused edastada jada plokkides.
- Iga tükk sisaldab kuueteistkümnendsüsteemi pikkuse väärtust ja andmeid, ning pikkuse väärtus on eksklusiivne ühele reale ning pikkus ei hõlma CRLF-i selle lõpus ega CRLF-i tükeldatud andmete lõpus.
- Viimase tüki pikkuse väärtus peab olema 0 ning vastaval tüki andmetel puudub sisu, mis näitab üksuse lõppu.
asp.net Põhitesti kood:
|
Eelmine:Http-protokolli sisupikkusJärgmine:Kolm tegurit, mis panevad mind Chrome'i maha võtma
|