|
|
Postitatud 27.11.2019 10:42:41
|
|
|

Katkestuspunkti jätkamise põhimõte on väga lihtne, st HTTP päringu ja vastuse päis erineb tavapärasest allalaadimisest. Kui serveris dokumenti tavapäraselt taotleda, on esitatud ja saadud palve järgmised:
Taotluse päis:
Cache-Control: no-cache
Connection: close
Pragma: no-cache
Accept: */*
Host: localhost Vastuse päis:
200
Content-Type: application/octet-stream
Content-Disposition: attachment;FileName=time.pdf Kui server toetab katkestuspunkti jätkamist, on päring ja vastus järgmised:
Taotluse päis:
Cache-Control: no-cache
Connection: close
Pragma: no-cache
Accept: */*
Host: localhost
Range: bytes=15360- Vastuse päis:
206
Content-Type: application/octet-stream
Content-Disposition: attachment;FileName=time.pdf Kahe sõnumi erinevad osad on tähistatud punaste osadega. Seda võib näha: Vahemiku päist kasutatakse kliendi soovitud allalaadimiskoha tuvastamiseks. Kui serveri vastusenumber on 200, tähendab see, et allalaadimine algab failipäisest ja 206 tähendab, et edastus algab faili kindlast asukohast. Teisisõnu, kui toetad katkestuspunkti jätkamist, saad alustada allalaadimist faili mis tahes osast, samas kui tavaline viis saab alla laadida ainult failipäisest. Et server toetaks katkestuspunkti taastamist, tuleb lahendada järgmised probleemid:
1。 Kui tegemist on jätkamise taotlusega, pead hankima kliendi nõutava failivahemiku. Nagu ülaltoodud analüüsist näha, lisatakse kui klient edastab katkestuspunkti, Range väli paketi päisele ning saad kindlaks teha, kas tegemist on katkestuspunkti edastuspäringuga järgmiselt. string vahemik = taotlus. Päised["Range"]; bool isResume = string. IsNullOrEmpty (vahemik);
2。 Vasta kliendile õigesti, et teavitada kliendiserverit, et lõpp-punkt on jätkamiseks toetatud Katkestuspunkti päringu saatmisel saab kliendi vastava numbri määrata järgmiselt: vastus. Staatuskood = 206;
3。 Pakkuda õiget sisu, mida klient vajab Kliendi nõutava õige sisu edastamine hõlmab tavaliselt järgmisi samme Hangi kliendi failipäringute vahemik, analüüsides seda vahemikku. Kui saadetakse katkestuspunkt, on nõutav pikkus lühem kui faili pikkus, seega tuleb määrata õige vastus. ContentLength64 omadus. Edasta nõutav sisu õigesti Koodinäide:
|
Eelmine:httplistener kuulab, et saada POST päringuparameetridJärgmine:18 filosoofilist koomiksit, kõik meistrid
|