See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 8759|Vastuse: 0

Sisupikkuse detailne tõlgendus HTTP protokollis

[Kopeeri link]
Postitatud 24.09.2019 15:53:29 | | |
Sisu-pikkust kasutatakse sõnumi keha ülekandepikkuse kirjeldamiseks. HTTP protokollis on erinevus sõnumiüksuse pikkuse ja sõnumiüksuse edastuspikkuse vahel, näiteks gzip-tihenduse korral on sõnumi entiteedi pikkus pikkus enne tihendamist ja sõnumiüksuse edastuspikkus pikkus pärast gzip-kompressiooni.

Spetsiifilistes HTTP-interaktsioonides põhineb kliendi sõnumi pikkuse saavutamine peamiselt järgmistel reeglitel:

Kui vastus on 1xx, 204, 304 või peapäring, ignoreeritakse sõnumi sisu otseselt.
Kui on olemas Transfer-Encoding (Transfer-Encoding), eelistatakse Transfer-Encoding meetodit vastava pikkuse leidmiseks. Näiteks Chunked mudel.
"Kui peas on Sisupikkus, siis see Sisupikkus esindab nii keha pikkust kui ka ülekande pikkust. Kui üksuse pikkus ja ülekandepikkus ei ole võrdsed (nt on seatud ülekande-kodeerimine), siis sisupikkust ei saa määrata.Kui ülekande-kodeerimine on seatud, siis sisupikkust ignoreeritakse”。 Selle lausetõlke eelis on see, et on ainult üks punkt: ülekande-kodeerimise puhul ei saa olla sisupikkust.
Kaugusside ülekanne. Ma ei pööranud tähelepanu, ma ei lugenud seda üksikasjalikult :)
Ühenduse sulgemine serveri kaudu määrab edastatava sõnumi pikkuse. (Taotleja ei saa ühenduse sulgemisega märgistada päringu keha lõppu, kuna see jätaks serveri ilma võimaluseta vastamist jätkata.) See olukord vastab peamiselt lühikeste ühenduste ehk mitte-elus hoidmise režiimile.
HTTP 1.1 peab toetama chunk mode'i. Sest kui sõnumi pikkus on ebakindel, saab seda olukorda lahendada chunk-mehhanismi kaudu.
Päises, mis sisaldab sõnumi sisu, peab vastav välja täpselt vastama sõnumi teema pikkusele.
"Sõnumi entiteedi pikkus on sõnumi keha pikkus enne ülekandekoodide rakendamist"
See onKui on tükk, siis sisu pikkust ei saa olla

HTTP/1.0 püsiva ühenduse mehhanism tutvustati hiljem ning see on rakendatud päise Connection: keep-alive kaudu, mida saavad kasutada nii server kui klient, et üksteisele öelda, et nad ei pea pärast andmete saatmist TCP-ühendust hilisemaks kasutamiseks katkestama.HTTP/1.1 nõuab, et kõik ühendused oleksid püsivadKui sa ei lisa otseselt Ühendust: päise lähedale。 Seega ei ole HTTP/1.1 Connection päise väljal enam keep-alive väärtust, kuid ajaloolistel põhjustel on paljud veebiserverid ja brauserid endiselt harjumust saata Connection: keep-alive HTTP/1.1 pikkadele ühendustele.

Tegelikult võib viimaseid peaaegu ignoreerida ning lühike kokkuvõte on järgmine:


1. Sisu-pikkus: Kui see eksisteerib ja on kehtiv, peab see olema täpselt sama mis sõnumi sisu edastuspikkus. (Testiti, et lühendada, kui see on liiga lühike, ja liiga pikk, et põhjustada timeout'i.) )
2. Kui on ülekande-kodeerimine (fookus on killustatud), siis päises ei tohi olla sisupikkust ja see jäetakse tähelepanuta.
3. Kui kasutatakse lühikest ühendust, saab sõnumi edastuspikkuse määrata otse, sulgedes ühenduse läbi serveri. (See on lihtne mõista)
Näiteks koos teiste HTTP protokolli funktsioonidega ei toetanud Http1.1 keep alive'i. Seejärel saab teha järgmised järeldused:
1. Http 1.0 ja varasemates versioonides on sisupikkuse väli valikuline.
2. http1.1 ja hilisemates versioonides. Kui hoiad elus, siis sisupikkus ja tükk peavad olema üks kahest. Kui seda ei hoita elus, on see sama mis http1.0. sisupikkus.





Eelmine:"Node.js: Let's Dozen C++ laiendust" pdf skaneeritud versioon [146MB]
Järgmine:Http-protokolli sisupikkus
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com