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

Vaade: 1|Vastuse: 0

[Allikas] .NET/C# kasutab Socketi HTTP(s) päringute saatmiseks Hypertext Transfer Protocoli alusel

[Kopeeri link]
Postitatud44 sekundit tagasi | | | |
Nõuded: Iga päev, kui avad veebilehti või rakendusi, pääseb sirvitud infole peaaegu alati ligi HTTP või HTTPS päringute vastuste saatmise kaudu. Kasutades C#-d, mis põhineb Hypertext Transfer Protocolil ja natiivsed soklid HTTP-päringute saatmiseks.

leping

Hüperteksti edastusprotokoll (HTTP) on olekuta rakenduskihi protokoll, mida kasutatakse hajutatud ja koostööl põhinevate hüperteksti infosüsteemide jaoks.

HTTP / 1.1 protokoll (RFC 9112):Hüperlingi sisselogimine on nähtav.
HTTP semantika (RFC 9110):Hüperlingi sisselogimine on nähtav.

Näidispäring:
HANGI /hello.txt HTTP/1.1
User-Agent: curl/7.64.1
Host: Hüperlingi sisselogimine on nähtav.
Accept-Language: en, mi

Näidisvastus:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain

Tere, maailm! Minu sisus on ka järel jooksev CRLF.

Socket saadab päringuid

Lähtekood on järgmine:
Lähtekood toetab päringute saatmist HTTP ja HTTPS protokollidesse. Nagu allpool näidatud:



Seos: sulgemine vs elus hoidmine

Kui kasutad ReadToEndAsync'i, et lugeda kogu vastuse andmeid, pead seadistama ühenduse sulgemiseks. Kui seadistad selle keep-alive'iks, hangub ReadToEndAsync vastus. Põhjused, miks ei hanguda: Paljud veebiserverid (näiteks Nginx, Apache või teatud API lüüsid) käivitavad aktiivselt FIN-paketi TCP-ühenduse sulgemiseks, kui klient on natiivne pesa kirjutamiseks ilma järgneva tegevuseta või kui server käivitab tühikäigu ajapiirangu (tavaliselt 5 sekundit).

HTTP torujuhe, mis saadab mitu päringut samaaegselt:Hüperlingi sisselogimine on nähtav.

Transfer-Encoding: chunked 表示数据是以分块的形式传输的。每个数据块前面都有一个指示该块大小的十六进制数字,这个数字后面跟着一个换行符(CRLF),然后是实际的数据内容,再接着另一个换行符来结束这一块。这种编码方式允许服务器在不知道全部内容长度的情况下开始发送数据。

FDD8 on selline kuueteistkümnendsüsteemne arv, mis määrab järgmise andmeploki suuruse (baitides). Fdd8 teisendamine kuueteistkümnendsüsteemist kümnendsüsteemiks annab 65 016 baiti. See tähendab, et kohe pärast fdd8 ja CRLF-i on 65 016 baiti andmeid. Pärast seda võib andmeplokke olla rohkem, kuni leitakse 0-suurusega plokk, mis näitab, et edastus on lõpetatud.

FDD8 teatab vastuvõtjale, et järgmine andmeplokk on 65 016 baiti pikk.




Eelmine:HTTP(s) testsaidi kokkuvõte (pidevalt uuendatav)
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