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

Vaade: 12455|Vastuse: 1

HTTP päringu päis Expect on üksikasjalikult selgitatud

[Kopeeri link]
Postitatud 2021-4-22 15:32:09 | | |
Dokumendi tutvustus:Hüperlingi sisselogimine on nähtav.

Kui kutsusin teise poole liidest curli kaudu, selgus, et timeout'i nähtus oli väga tõsine, nii et küsisin teise poole liidese inimeselt ja teine pool ütles, et tuleb lisada:


Pärast lisamist leidsin, et see töötab väga hästi, nii et uurisin, kuidas seda kasutada. Kui kasutada curlit POST-i jaoks, siis kui "POST andmed on suuremad kui 1024 baiti", ei algata curl otseselt POST-päringut, vaid jagatakse kaheks sammuks:

Expect: 100-continue

1. Saada päring, mis sisaldab Expect:100-continue't, paludes serveril andmed vastu võtta

2. Pärast serveri poolt tagastatud 100-jätkamise vastuse saamist postitatakse andmed serverisse

Kuid sellega kaasneb mitu probleemi:

Kõik serverid ei reageeri korrektselt 100-jätkamisele, nt lighttpd, mis tagastab 417 Expectation Failed.

põhjustades viivitusi,Kui klient saadab esimese Expect:100-continue'i, peab ta ootama, kuni server vastab, enne kui saadab päringu keha

Kui oled kindel, et teise osapoole server ei lükka tagasi POST-päringuid, mis ületavad 1024 baiti, saad seda meetodit vältida ja vältida eelpool mainitud kahte kõrvalmõju, ning lahendus on see, mis artikli alguses mainitud.

Umbes 100 jätkub

Selle eesmärk on:

See võimaldab kliendil hinnata, kas server on valmis päringuandmeid vastu võtma enne saatmist, ja kui server on nõus neid vastu võtma, saadab klient andmed tegelikult.

Kliendi käitumine:

Klient, kes saadab 100 jätkamist, ei tohiks serverilt igavesti vastust oodata, ning pärast ajapiirangut peaks klient saatma otse üksuse.

Serveripoolne käitumine:

Kui server saab 100 jätkamise päringu, vastab ta 100 jätkamisega või saadab veakoodi. Server ei saa kunagi saata 100 jätkamist kliendile, kes ei saada 100 jätkamist. Aga mõned serverid teevad seda. IIS 5 saadab valesti 100-jätkamise vastuse

Kui server saab kliendi keha enne 100 jätkamise vastuse saatmist, tähendab see, et klient on otsustanud hakata andmeid saatma, seega ei saa server enam saata 100 jätkamist kliendile.
.NET Expect Off Expect seadistuskood on järgmine:

RestSharp on üles ehitatud järgmiselt:







Eelmine:Erinevus utf8 ja utf8mb4 vahel MySQL-is
Järgmine:SignalR lisab domeenideülese toe kaugjuurdepääsuks
 Üürileandja| Postitatud 2025-4-6 21:52:04 |
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