Artikli ID: 820729
Laienda kõik | Ahenda kõik

Sellel veebilehel

Kokkuvõte

Käesolevas artiklis kirjeldatakse HTTP-protokolli (Hypertext Transfer Protocol) API-de tõrkelogimise võimalusi.

Mõned HTTP-põhises rakenduses tekkivad tõrked töödeldakse rakendusele tagastamise asemel automaatselt HTTP API-s. Selle käitumise põhjuseks on asjaolu, et sedasorti tõrgete sage esinemine võib muidu sündmuselogi või rakenduseohjuri üle ujutada.

Järgmised teemad kirjeldavad HTTP API tõrkelogimise eri aspekte.

Lisateave

HTTP API tõrkelogimise konfigureerimine

Kui soovite, et konfigureeriksime teile HTTP API tõrkelogimise, minge jaotisse ?Lahenda minu eest?. Kui eelistate HTTP API tõrkelogimise ise konfigureerida, minge jaotisse ?Las ma lahendan ise?.

Lahenda minu eest



Selle probleemi automaatseks lahendamiseks klõpsake nuppu või linki Fix it (Lahenda). Klõpsake dialoogiboksis Faili allalaadimine käsku Käivita ja järgige lahendusviisardi juhiseid.

Disable HTTP API error logging
Microsoft Fix it 50635
Enable HTTP API error logging
Microsoft Fix it 50634


Märkused
  • See viisard võib olla üksnes ingliskeelne. Automaatne lahendus toimib siiski ka Windowsi muukeelsete versioonide puhul.
  • Kui te ei ole arvuti juures, kus probleem esineb, salvestage lahendus USB-mäluseadmele või CD-le ja seejärel käivitage see probleemses arvutis.



Las ma lahendan ise

HTTP API tõrkelogimist juhivad kolm registriväärtust võtmes HTTP \Parameters. Need võtmed asuvad järgmises registrivõtmes:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Märkus. Konfiguratsiooniväärtuste asukoht ja kuju võivad uuemates Microsoft Windowsi operatsioonisüsteemides muutuda.

Registriväärtuste muutmiseks ja logifailide ning neid sisaldava kausta vaatamiseks või muutmiseks peavad teil olema administraatori / kohaliku süsteemi mandaadid.

Registriväärtustes olev konfiguratsiooniteave loetakse sisse HTTP API draiveri käivitamisel. Kui muudate sätteid, peate seega uute väärtuste sisselugemiseks draiveri peatama ja taaskäivitama. Selleks sisestage konsoolile järgmised käsud:
net stop http
net start http
Logifailide nimetamiseks kasutatakse järgmist skeemi:
httperr + järjenumber + .log
Näide. httperr4.log
Logifailid muutuvad registriväärtuses ErrorLogFileTruncateSize määratud maksimumsuuruseni jõudes tsükliliseks. See väärtus ei tohi olla väiksem kui üks megabait (MB).

Kui tõrkelogimise konfiguratsioon ei kehti või kui HTTP API logifailide kirjutamise ajal tekib mõni tõrge, kasutab HTTP API sündmuselogimist administraatorite teavitamiseks, et tõrkelogimine ei toimi.

Järgmises tabelis on toodud registrikonfiguratsiooni väärtused.
Ahenda see tabelLaienda see tabel
RegistriväärtusKirjeldus
EnableErrorLoggingDWORD, mille väärtuseks saate panna TRUE tõrkelogimise lubamiseks või FALSE selle keelamiseks. Vaikeväärtus on TRUE.
ErrorLogFileTruncateSizeDWORD, mis määrab tõrkelogifaili maksimaalse suuruse baitides. Vaikeväärtus on üks MB (0x100000).

Märkus. Määratav väärtus ei tohi olla vaikeväärtusest väiksem.
ErrorLoggingDirString, mis määrab kausta, kuhu HTTP API oma logifailid paigutab.

HTTP API loob määratud kausta alamkausta HTTPERR ja salvestab siis logifailid sellesse alamkausta. See alamkaust ja logifailid saavad samad õiguste sätted. Administraatoril ja kohaliku süsteemi kontodel on täielik juurdepääs. Teistel kasutajatel juurdepääsu pole.

Kui kaust pole registris määratud, on vaikekaust järgmine:
%SystemRoot%\System32\LogFiles

Märkus.ErrorLoggingDir stringi väärtus peab olema täielikult kvalifitseeritud kohalik tee. Siiski, selles võib sisalduda % SystemRoot %. Võrgudraivi või ühiskasutusega võrgukohta ei saa kasutada.

HTTP API tõrkelogide vorming

Üldiselt on HTTP API tõrkelogifailidel sama vorming kui W3C tõrkelogidel, välja arvatud see, et HTTP API tõrkelogides pole veerupäiseid. HTTP API tõrkelogi igal real talletatakse üks tõrge. Väljad ilmuvad kindlas järjekorras. Väljade vahel on eraldajaks üks tühik (0x0020). Igal väljal asendavad tühikuid, tabeldusmärke ja printimatuid süsteemimärke plussmärgid (0x002B).

Järgmine tabel selgitab välju ja väljade järjestust tõrkelogi kirjes.
Ahenda see tabelLaienda see tabel
VäliKirjeldus
KuupäevKuupäevaväli järgib W3C vormingut. Selle välja aluseks on koordineeritud maailmaaeg (UTC). Kuupäevaväli on alati kümme märki kujul AAAA-KK-PP. Näiteks 1. mai 2003 kirjutatakse kujul 2003-05-01.
KellaaegKellaajaväli järgib W3C vormingut. Selle välja väärtus põhineb UTC-l. Kellaajaväli on alati kaheksa tähemärki kujul TT:MM:SS. Näiteks kellaaeg 17:30 (UTC) kirjutatakse kujul 17:30:00.
Kliendi IP-aadressSeotud kliendi IP-aadress. Selle välja väärtus võib olla kas IPv4- või IPv6-aadress. Kui kliendi IP-aadress on IPv6-aadress, kaasatakse aadressis ka väli ScopeId.
Kliendi portSeotud kliendi pordinumber.
Serveri IP-aadressSeotud serveri IP-aadress. Selle välja väärtus võib olla kas IPv4- või IPv6-aadress. Kui serveri IP-aadress on IPv6-aadress, kaasatakse aadressis ka väli ScopeId.
Serveri portSeotud serveri pordinumber.
Protokolli versioonKasutatava protokolli versioon.

Kui ühendust pole protokolliversiooni tuvastamiseks piisavalt sõelutud, kasutatakse tühja välja kohatäitena sidekriipsu (0x002D).

Kui sõelutud põhiversiooni või alamversiooni number on 10 või sellest suurem, logitakse versioon kui HTTP/?.?.
VerbVerb näitab, et viimane sõelutud taotlus läheb läbi. Tundmatud verbid on kaasatud, kuid üle 255-baidise pikkusega verbid kärbitakse 255 baidini. Kui verb ei ole kättesaadav, kasutatakse tühja välja kohatäitena sidekriipsu (0x002D).
CookedURL + päringURL ja sellega seotud päring logitakse ühe väljana, mis on eraldatud küsimärgiga (0x3F). See väli on kärbitud pikkusepiiranguga 4096 baiti.

Kui URL-i on sõelutud, logitakse see kohaliku koodilehe teisendusega ja seda koheldakse Unicode-vormingus väljana.

Kui URL-i logimise ajal ei sõeluta, kopeeritakse see algkujul, ilma Unicode-teisenduseta.

Kui HTTP API ei saa URL-i sõeluda, kasutatakse tühja välja kohatäitena sidekriipsu (0x002D).
Protokolli olekProtokolli olek ei saa olla suurem kui 999.

Kui päringu vastuse protokolliolek on saadaval, logitakse see sellel väljal.

Kui protokolliolek ei ole kättesaadav, kasutatakse tühja välja kohatäitena sidekriipsu (0x002D).
SiteIdEi kasutata HTTP API selles versioonis. Sellel väljal kuvatakse alati kohatäite sidekriips (0x002D).
PõhjusestringSee väli sisaldab stringi, mis tuvastab logitava tõrke tüübi. Seda välja ei jäeta kunagi tühjaks.
Järjekorra nimiSee on päringujärjekorra nimi.
HTTP API tõrkelogi näidisread:
2002-07-05 18:45:09 172.31.77.6 2094 172.31.77.6 80 HTTP/1.1 GET /qos/1kbfile.txt 503 ? ConnLimit 2002-07-05 19:51:59 127.0.0.1 2780 127.0.0.1 80 HTTP/1.1 GET /ThisIsMyUrl.htm 400 ? Hostname 2002-07-05 19:53:00 127.0.0.1 2894 127.0.0.1 80 HTTP/2.0 GET / 505 - Version_N/S 2002-07-05 20:06:01 172.31.77.6 64388 127.0.0.1 80 - - - - - Timer_MinBytesPerSecond

HTTP API logitavate tõrgete tüübid

HTTP API logib klientidele antavaid tõrkevastuseid, ühenduse aegumisi, orbpäringuid ja katkenud ühendusi, mida käsitsetakse valesti.

Järgmises loetelus on toodud tõrketüübid, mida HTTP API logib.
  • Vastused klientidele HTTP API saadab kliendile tõrkevastuse, näiteks 400-tõrke, mille on põhjustanud viimati saabunud päringu sõelumisviga. Pärast seda, kui HTTP API saadab tõrkevastuse, katkestatakse ühendus.
  • Ühenduse ajalõpud Ühendus aegub HTTP API poolt. Kui ühenduse ajalõpu ajal on päring ootel, kasutatakse päringut tõrkelogis ühenduse kohta lisateabe andmiseks.
  • Orbpäringud Kasutajare?iimi protsess sulgub ootamatult, kuid leidub veel sellesse protsessi suunatud päringuid. HTTP API logib orbpäringud tõrkelogisse.
Teatud tõrketüübid tähistatakse põhjusestringi stringidega, mis ilmuvad alati iga tõrkerea viimase väljana. Järgmises tabelis on HTTP API põhjusestringid.
Ahenda see tabelLaienda see tabel
PõhjusestringKirjeldus

AppOfflineTekkis teenuse mittekättesaadavuse tõrge (HTTP tõrge 503). Teenus pole saadaval, kuna rakenduse tõrgete tõttu viidi rakendus võrguühenduseta re?iimi.
AppPoolTimerTekkis teenuse mittekättesaadavuse tõrge (HTTP tõrge 503). Teenus pole saadaval, kuna rakendusekausta protsess on päringu töötlemiseks liiga hõivatud.
AppShutdownTekkis teenuse mittekättesaadavuse tõrge (HTTP tõrge 503). Teenus pole saadaval, kuna rakendus sulgus automaatselt vastusena administraatori poliitikale.
BadRequestPäringu töötlemisel ilmnes sõelumistõrge.
Client_ResetKliendi ja serveri vaheline ühendus suleti enne päringu suunamist tööprotsessi. Sellise käitumise levinuim põhjus on see, et klient suleb enneaegselt oma serveriühenduse.
Connection_Abandoned_By_AppPoolRakendusekausta tööprotsess on ootamatult sulgunud või sulgenud oma pideme, jättes ootel päringu orvuks.
Connection_Abandoned_By_ReqQueueRakendusekausta tööprotsess on ootamatult sulgunud või sulgenud oma pideme, jättes ootel päringu orvuks. Omane operatsioonisüsteemidele Windows Vista ja Windows Server 2008
Connection_DroppedKliendi ja serveri vaheline ühendus sulgus enne, kui server saatis oma lõpliku vastuspaketi. Sellise käitumise levinuim põhjus on see, et klient suleb enneaegselt oma serveriühenduse.
Connection_Dropped_List_FullKlientide ja serveri vaheliste katkenud ühenduste loend on täis. Omane operatsioonisüsteemidele Windows Vista ja Windows Server 2008
ConnLimitTekkis teenuse mittekättesaadavuse tõrge (HTTP tõrge 503). Teenus pole saadaval, kuna saiditaseme ühendusepiirang on täis või ületatud.
Connections_RefusedTuuma mälu NonPagedPool on langenud alla 20 MB ja http.sys ei võta enam vastu uusi ühendusi.
DisabledTekkis teenuse mittekättesaadavuse tõrge (HTTP tõrge 503). Teenus pole saadaval, kuna administraator on viinud rakenduse ühenduseta re?iimi.
EntityTooLargeOlem on ületanud lubatud maksimummahu.
FieldLengthVäljapikkuse piirang on ületatud.
ForbiddenSõelumisel ilmnes keelatud element või järjestus.
HeaderPäises ilmnes sõelumistõrge.
HostnameHostinime töötlemisel ilmnes sõelumistõrge.
InternalTekkis sisemine serveritõrge (HTTP tõrge 500).
Invalid_CR/LFIlmnes lubamatu tagasijooks või reavahetus.
LengthRequiredNõutud pikkuseväärtus on puudu.
N/ATekkis teenuse mittekättesaadavuse tõrge (HTTP tõrge 503). Teenus pole saadaval, kuna ilmnes sisemine tõrge (nt mälueralduse tõrge).
N/ITundmatu ülekandekodeeringu tõttu tekkis juurutamatuse tõrge (HTTP tõrge 501) või teenuse mittekättesaadavuse tõrge (HTTP tõrge 503).
NumberNumbri töötlemisel ilmnes sõelumistõrge.
PreconditionVajalik eeltingimus oli puudu.
QueueFullTekkis teenuse mittekättesaadavuse tõrge (HTTP tõrge 503). Teenus pole saadaval, kuna rakenduse päringujärjekord on täis.
RequestLengthPäringupikkuse piirang on ületatud.
Timer_AppPoolÜhendus aegus, kuna päring ootas päringukausta järjekorras liiga kaua, et serverirakendus selle järjekorrast võtaks ja töötleks. Ajalõpu kestus on ConnectionTimeout. Vaikimisi on selleks väärtuseks seatud kaks minutit.
Timer_ConnectionIdleÜhendus aegus ja jääb puhkere?iimi. Vaikimisi on suvandi ConnectionTimeout väärtuseks kaks minutit.
Timer_EntityBodyÜhendus aegus enne päringuolemi keha saabumist. Kui on selge, et päringul on olemikeha, lülitab HTTP API sisse ajasti Timer_EntityBody. Esialgu on selle ajasti piiranguks määratud väärtus ConnectionTimeout (tavaliselt 2 minutit). Iga kord, kui sellele päringule saabub teine andmeteatis, lähtestab HTTP API ajasti, et anda ühendusele veel kaks minutit (või muu väärtuses ConnectionTimeout toodud aeg).
Timer_HeaderWaitÜhendus aegus, kuna päringu päise sõelumiseks kulus aega rohkem, kui vaikepiirangu kaks minutit.
Timer_MinBytesPerSecondÜhendus aegus, kuna klient ei võtnud vastust vastu mõistliku kiirusega. Vastuse saatmise kiirus oli aeglasem kui vaikeväärtus 240 baiti sekundis. Seda saab juhtida metaandmebaasi atribuudiga MinFileBytesPerSec.
Timer_ReqQueueÜhendus aegus, kuna päring ootas päringukausta järjekorras liiga kaua, et serverirakendus selle järjekorrast võtaks. Ajalõpu kestus on ConnectionTimeout. Vaikimisi on selleks väärtuseks seatud kaks minutit. Omane operatsioonisüsteemidele Windows Vista ja Windows Server 2008
Timer_ResponseReserveeritud. Pole praegu kasutusel.
Timer_SslRenegotiation Ühendus aegus, kuna SSL-i kordusläbirääkimisteks kliendi ja serveri vahel kulus rohkem aega kui vaikimisi ajalõpuks määratud kaks minutit.
URLURL-i töötlemisel ilmnes sõelumistõrge.
URL_LengthURL ületas maksimaalse lubatud suuruse.
VerbVerbi töötlemisel ilmnes sõelumistõrge.
Version_N/STekkis toetamata versiooni tõrge (HTTP tõrge 505).

Viited

Kui soovite lisateavet selle kohta, kuidas lisada IIS HTTP tõrkelogimisse täiendavaid logimisvälju, klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:
832975 Nüüd on saadaval lisaatribuudid logimiseks IIS 6.0 ja IIS 7.0 faili Httperr#.log. (võib olla inglise keeles)
Märkus. See artikkel on otse Microsofti tugiorganisatsioonist loodud artikkel ?FAST PUBLISH? (Kiiravaldamine). Selles sisalduv teave edastatakse probleemide ilmnemisel olemasoleval kujul. Kiiresti kättesaadavaks muutmise tõttu võib materjalides esineda trükivigu ja neid võidakse mis tahes ajal ette teatamata parandada. Muude asjaolude korral vaadake kasutustingimusi.

Atribuudid

Artikli ID: 820729 - Viimati läbi vaadatud: 30. november 2012 - Redaktsioon: 2.0
Märksõnad: 
kbhttphandlers kbhttp kbapi kberrmsg kbinfo kbfixme kbmsifixme KB820729

Andke tagasisidet

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com