Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 9827|Svare: 0

HTTP-protokoll Transfer-Encoding (chunked)

[Kopier lenke]
Publisert på 24.09.2019 18:07:57 | | | |
1. Bakgrunn:

  • Vedvarende tilkoblingsproblemer: For ikke-persistente tilkoblinger kan nettleseren definere grensene for den forespørrende eller svarende enheten ut fra om forbindelsen er nede eller ikke; For kontinuerlige forbindelser fungerer åpenbart ikke denne tilnærmingen. Noen ganger, selv om jeg har sendt alle dataene, vet ikke nettleseren om det kommer inn nye data på den åpne tilkoblingen, så den bare venter.
  • Løs med innholdslengde: Beregn entitetslengden og fortell den andre parten gjennom hodet. Nettleseren kan se at responsenheten er over ut fra lengdeinformasjonen til Innhold-Lengde
  • Nytt problem med innholdslengde: Siden Innhold-lengde-feltet virkelig må reflektere entitetslengden, er lengden ukjent for dynamisk generert innhold inntil innholdet er opprettet. På dette tidspunktet, for å få lengden nøyaktig, kan du bare åpne en stor nok buffer og vente til alt innholdet er generert før du beregner. Dette krever imidlertid mer minneoverhead på den ene siden, og på den andre siden vil det få klienten til å vente lenger.
  • Vi trenger en ny mekanisme som ikke er avhengig av lengden på headeren og kjenner grensene for entiteter – Transfer-Encoding: chunked.

2. Overføringskoding (chunked)

  • Transfer-Encoding er et HTTP-headerfelt (response header-felt), som bokstavelig talt betyr «overføringskoding». Den nyeste HTTP-spesifikasjonen definerer kun én type kodingstransport: chunked.
  • Chunked transfer-koding er en dataoverføringsmekanisme i Hypertext Transfer Protocol (HTTP) som gjør det mulig å dele HTTP-data sendt av en webserver til klienten opp i flere deler. Blokktransportkoding er kun tilgjengelig i HTTP-protokoll versjon 1.1 (HTTP/1.1).
  • Data deles opp i en serie biter og sendes i én eller flere biter slik at serveren kan sende data uten å vite den totale størrelsen på det sendte innholdet på forhånd.


Spesifikke metoder

  • Etter å ha lagt til Transfer-Encoding: chunked i headeren, betyr det at pakken er chunket. I dette tilfellet må entitetene i pakken sendes i en serie av chunks i stedet.
  • Hver chunk inneholder den heksadesimale lengdeverdien og dataene, og lengdeverdien er eksklusiv for én linje, og lengden inkluderer ikke CRLF på slutten av den, eller CRLF på slutten av de chunkede dataene.
  • Den siste chunk-lengdeverdien må være 0, og de tilsvarende chunk-dataene har ikke noe innhold, noe som indikerer slutten på enheten.




asp.net Kjernetestkode:







Foregående:Innholdslengde til Http-protokollen
Neste:Tre faktorer som får meg til å avvikle Chrome
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com