Cikk azonosítója: 820729
Az összes kibontása | Az összes összecsukása

A lap tartalma

Összefoglaló

Ez a cikk a Hypertext Transfer Protocol (HTTP) protokoll API felületeinek hibanaplózási funkcióit ismerteti.

A HTTP-alapú alkalmazások egyes hibáit a HTTP API automatikusan kezeli, ahelyett, hogy továbbítaná egy alkalmazásnak. Ennek az az oka, hogy az ilyen hibák gyakorisága túl nagy terhelést jelenthetne az eseménynaplók vagy alkalmazáskezelők számára.

A következő témakörök a HTTP API hibanaplózás különböző aspektusait ismertetik:
  • A HTTP API hibanaplózás konfigurálása
    A beállításjegyzék beállításai szabályozzák a HTTP API által naplózott hibákat, a naplófájlok maximális méretét és a naplófájlok helyét.
  • A HTTP API hibanaplók formátuma
    A HTTP API által létrehozott naplófájlok megfelelnek a World Wide Web Consortium (W3C) naplófájlokra vonatkozó előírásainak. A naplófájlok a szabványos eszközökkel elemezhetők. A HTTP API naplófájlok azonban a W3C naplófájloktól eltérően nem tartalmazzák az oszlopneveket.
  • A HTTP API által naplózott hibatípusok
    A HTTP API számos gyakori hiba naplózását végzi.

További információ

A HTTP API hibanaplózás konfigurálása

Ha szeretné, hogy a HTTP API hibanaplózás konfigurálása automatikusan történjen, ugorjon az „Automatikus javítás” című részhez. Ha saját kezűleg szeretné konfigurálni a HTTP API hibanaplózást, ugorjon a „Kézi javítás” című részhez.

Automatikus javítás



A probléma automatikus javításához kattintson Fix it gombra vagy a hivatkozásra. Ezután kattintson a Futtatás gombra a Fájl letöltése párbeszédpanelen, és kövesse az automatikus javítási varázsló lépéseit.

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


Megjegyzések:
  • Előfordulhat, hogy a varázsló csak angol nyelven érhető el. Az automatikus javítás ugyanakkor a Windows többi nyelvi verziójával is működik.
  • Ha ezt a cikket nem azon a számítógépen tekinti meg, amelyen a problémát tapasztalja, az automatikus javítást mentse egy USB-meghajtóra vagy CD-re, és azon a számítógépen futtassa, amelyen a hiba jelentkezik.



Kézi javítás

A HTTP API hibanaplózást egy HTTP\Parameters kulcs alatt található három beállításazonosító vezérli. Ezeknek a kulcsok a következő beállításkulcsban találhatók:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Megjegyzés: A konfigurációs értékek helye és formája a Microsoft Windows operációs rendszer újabb verzióiban eltérő lehet.

A beállításazonosítók módosításához, valamint a naplófájlok és az azokat tartalmazó mappa megtekintéséhez és módosításához rendszergazdai vagy egy helyi rendszerfiók hitelesítő adatai szükségesek.

A beállításazonosítókban található konfigurációs adatokat a rendszer a HTTP API illesztőprogram indításakor olvassa be. Ezért a beállítások módosítását követően le kell állítania, majd újra kell indítania az illesztőprogramot az új értékek beolvasásához. Ehhez írja be a következő konzolparancsokat:
net stop http
net start http
A naplófájlok elnevezése a következő elnevezési szabályok szerint történik:
httperr + sorszám + .log
Például: httperr4.log
A rendszer újrahasznosítja a naplófájlokat, amikor elérik az ErrorLogFileTruncateSize beállításazonosítóban meghatározott maximális méretet. Ez az érték nem lehet 1 megabájtnál (MB) kisebb.

Ha a hibanaplózás konfigurációja érvénytelen, vagy ha bármilyen hiba történik, miközben a HTTP API a naplófájlokba ír, akkor a HTTP API eseménynaplózással tájékoztatja a rendszergazdákat a hibanaplózás leállásáról.

Az alábbi táblázat a beállításjegyzék konfigurációs értékeit ismerteti.
A táblázat összecsukásaA táblázat kibontása
BeállításazonosítóLeírás
EnableErrorLoggingOlyan Duplaszó, amely TRUE értékre állítva engedélyezi, FALSE értékre állítva pedig letiltja a hibanaplózást. Az alapértelmezett érték TRUE.
ErrorLogFileTruncateSizeOlyan Duplaszó, amely a hibanaplófájlok maximális méretét határozza meg bájtban. Az alapértelmezett érték egy MB (0x100000).

Megjegyzés: A megadott érték nem lehet kisebb, mint az alapértelmezett érték.
ErrorLoggingDirEz a Karakterlánc határozza meg azt a mappát, amelybe a HTTP API a naplófájlokat helyezi.

A HTTP API létrehoz egy HTTPERR nevű almappát a megadott mappában, és ebben tárolja a naplófájlokat. Az almappa és a naplófájlok azonos engedélybeállításokat kapnak. A rendszergazdai és a helyi rendszerfiókok teljes körű hozzáféréssel rendelkeznek. A többi felhasználó nem rendelkezik hozzáféréssel.

Ha a mappa nincs meghatározva a beállításjegyzékben, akkor az alapértelmezett mappa a következő:
%SystemRoot%\System32\LogFiles

Megjegyzés: Az ErrorLoggingDir karakterlánc értéke csak teljes helyi elérési út lehet. A %SystemRoot% helyet azonban tartalmazhatja. Hálózati meghajtó vagy hálózati megosztás nem használható.

A HTTP API hibanaplók formátuma

A HTTP API hibanaplófájljainak formátuma általánosságban megegyezik a W3C-hibanaplókéval, de a HTTP API hibanaplófájljai nem tartalmaznak oszlopfejléceket. A HTTP API hibanapló minden sora egy-egy hibát rögzít. A mezők meghatározott sorrendben jelennek meg. Az egymást követő mezőket egy szimpla szóköz karakter (0x0020) választja el egymástól. Minden mezőben pluszjelek (0x002B) helyettesítik a szóközöket, a tabulátorokat és a nem nyomtatható vezérlőkaraktereket.

A következő táblázat a hibanaplórekord mezőit és azok sorrendjét ismerteti.
A táblázat összecsukásaA táblázat kibontása
MezőLeírás
DátumA Dátum mező a W3C formátumot követi. A mező az egyezményes világidőnek (UTC) megfelelően jelenik meg. A Dátum mező mindig tíz karakterből áll, ÉÉÉÉ-HH-NN formátumban. 2003. május 1. például 2003-05-01 formában jelenik meg.
IdőAz Idő mező a W3C formátumot követi. A mező az egyezményes világidőn (UTC) alapul. Az Idő mező mindig nyolc karakterből áll, ÓÓ:PP:MM formátumban. A délután 5:30 (UTC)például 17:30:00 formában jelenik meg.
Ügyfél IP-címeAz érintett ügyfél IP-címe. A mezőben szereplő érték IPv4 cím vagy IPv6 cím lehet. Ha az ügyfél IP-címe IPv6 cím, akkor a ScopeId mező is szerepel a címben.
ÜgyfélportAz érintett ügyfél portszáma.
Kiszolgáló IP-címeAz érintett kiszolgáló IP-címe. A mezőben szereplő érték IPv4 cím vagy IPv6 cím lehet. Ha a kiszolgáló IP-címe IPv6 cím, akkor a ScopeId mező is szerepel a címben.
KiszolgálóportAz érintett kiszolgáló portszáma.
ProtokollverzióAz alkalmazott protokoll verziószáma.

Ha a kapcsolat elemzése során nem sikerült megállapítani a protokollverziót, akkor az üres mező helyőrzőjeként egy kötőjel (0x002D) szerepel.

Ha az elemzett fő -vagy alverziószám legalább 10 értékű, akkor a rendszer HTTP/?.? értékként naplózza a verziószámot.
MűveletA legutóbb elemzett kérelem által továbbított műveleti állapot. Az ismeretlen műveletek is megjelennek, de a 255 bájtnál nagyobb méretű műveleteket a rendszer erre a hosszra csonkolja. Ha egy művelet nem érhető el, akkor az üres mező helyőrzőjeként egy kötőjel (0x002D) szerepel.
Formázott URL (CURL) + LekérdezésAz URL-címet és az ahhoz társított lekérdezéseket egy mezőben, kérdőjellel (0x3F) elválasztva naplózza a rendszer. A rendszer 4096 bájt hossznál csonkolja a mezőt.

Ha a rendszer már elemezte („formázta”) az URL-címet, akkor az helyi kódlapkonverzióval kerül a naplóba, és a rendszer Unicode-mezőként kezeli.

Ha a rendszer nem elemezte („formázta”) az URL-címet a naplózáskor, akkor változatlanul, Unicode-konverzió nélkül másolja.

Ha a HTTP API nem tudja elemezni az URL-címet, akkor az üres mező helyőrzőjeként egy kötőjel (0x002D) szerepel.
ProtokollállapotA protokollállapot nem lehet 999-nél nagyobb.

Ha egy kérelemre adott válasz protokollállapota elérhető, akkor ebben a mezőben naplózza a rendszer.

Ha a protokollállapot nem érhető el, akkor az üres mező helyőrzőjeként egy kötőjel (0x002D) szerepel.
SiteIdA HTTP API jelen verziója nem használja. Ebben a mezőben minden esetben egy helyőrző kötőjel (0x002D) jelenik meg.
Ok kifejezésEz a mező egy olyan karakterláncot tartalmaz, amely azonosítja a naplózott hiba típusát. Ez a mező soha nem üres.
Várólista neveA kérelmek várólistájának neve.
Az alábbi példasorok egy HTTP API hibanaplóból származnak:
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

A HTTP API által naplózott hibatípusok

A HTTP API az ügyfeleknek küldött hibaüzeneteket, a kapcsolatok időtúllépéseit, az árva kérelmeket és a helytelenül kezelt megszakadt kapcsolatokat naplózza.

Az alábbi lista a HTTP API által naplózott hibatípusokat sorolja fel:
  • Ügyfeleknek küldött válaszok A HTTP API hibaüzenetet küld egy ügyfélnek, például egy 400 kódú hibáról, amelyet a legutóbb fogadott kérelem elemzési hibája okozott. A hibaválasz elküldése után a HTTP API megszakítja a kapcsolatot.
  • Kapcsolatok időtúllépései A HTTP API időtúllépés miatt megszüntet egy kapcsolatot. Ha a kapcsolat időtúllépésekor egy kérelem függőben van, akkor a rendszer a kérelem felhasználásával további információkat rögzít a kapcsolatról a hibanaplóban.
  • Árva kérelmek Egy felhasználói módú folyamat váratlanul befejeződik annak ellenére, hogy még vannak az adott folyamathoz irányított, várakozó kérelmek. A HTTP API rögzíti a hibanaplóban az árva kérelmeket.
A speciális hibatípusokat Ok kifejezés karakterláncok jelölik, amelyek mindig az egyes hibasorok utolsó mezőjében jelennek meg. A következő táblázat a HTTP API Ok kifejezéseit sorolja fel.
A táblázat összecsukásaA táblázat kibontása
Ok kifejezésLeírás

AppOfflineNem elérhető szolgáltatás miatti hiba történt (503-as HTTP-hiba). A szolgáltatás nem érhető el, mert az alkalmazás hálózati kapcsolata alkalmazáshibák miatt megszűnt.
AppPoolTimerNem elérhető szolgáltatás miatti hiba történt (503-as HTTP-hiba). A szolgáltatás nem érhető el, mert az alkalmazáskészlet folyamata túlságosan elfoglalt a kérelem kezeléséhez.
AppShutdownNem elérhető szolgáltatás miatti hiba történt (503-as HTTP-hiba). A szolgáltatás nem érhető el, mert az alkalmazáskészlet a rendszergazdai házirendnek megfelelően automatikusan leállt.
BadRequestEgy kérelem feldolgozása során elemzési hiba történt.
Client_ResetAz ügyfél és a kiszolgáló közötti kapcsolat bezárult, mielőtt a rendszer hozzárendelte volna az adott kérelmet egy munkavégző folyamathoz. Az ilyen működés leggyakoribb oka, hogy az ügyfél idő előtt bezárja a kapcsolatot a kiszolgálóval.
Connection_Abandoned_By_AppPoolAz alkalmazáskészlet egyik munkavégző folyamata váratlanul leállt, vagy árván hagyott egy függőben lévő kérelmet a leírója bezárásával.
Connection_Abandoned_By_ReqQueueAz alkalmazáskészlet egyik munkavégző folyamata váratlanul leállt, vagy árván hagyott egy függőben lévő kérelmet a leírója bezárásával. A Windows Vista és Windows Server 2008 rendszerekre jellemző.
Connection_DroppedAz ügyfél és a kiszolgáló közötti kapcsolat bezárult, mielőtt a kiszolgáló elküldhette volna az utolsó válaszcsomagját. Az ilyen működés leggyakoribb oka, hogy az ügyfél idő előtt bezárja a kapcsolatot a kiszolgálóval.
Connection_Dropped_List_FullAz ügyfelek és a kiszolgáló megszakadt kapcsolatainak listája megtelt. A Windows Vista és Windows Server 2008 rendszerekre jellemző.
ConnLimitNem elérhető szolgáltatás miatti hiba történt (503-as HTTP-hiba). A szolgáltatás nem érhető el, mert a webhely szintű kapcsolatok száma elérte vagy meghaladta a határértéket.
Connections_RefusedA NonPagedPool kernel memóriája 20 MB alá csökkent, így a http.sys nem fogad további új kapcsolatokat
DisabledNem elérhető szolgáltatás miatti hiba történt (503-as HTTP-hiba). A szolgáltatás nem érhető el, mert egy rendszergazda megszüntette az alkalmazás hálózati kapcsolatát.
EntityTooLargeEgy entitás meghaladta a maximális megengedett méretet.
FieldLengthEgy mező hossza meghaladta a korlátozást.
ForbiddenA rendszer tiltott összetevőt vagy sorozatot talált az elemzés során.
HeaderEgy fejlécben elemzési hiba történt.
HostnameEgy állomásnév feldolgozása során elemzési hiba történt.
InternalBelső kiszolgálóhiba történt (500-as HTTP-hiba).
Invalid_CR/LFSzabálytalan kocsivissza vagy soremelés.
LengthRequiredEgy szükséges hosszérték hiányzik.
N/ANem elérhető szolgáltatás miatti hiba történt (503-as HTTP-hiba). A szolgáltatás belső hiba (például sikertelen memórialefoglalás) miatt nem érhető el.
N/INem implementált hiba (501-es HTTP-hiba) vagy nem elérhető szolgáltatás miatti hiba (503-as HTTP-hiba) történt egy ismeretlen átviteli kódolás miatt.
NumberEgy szám feldolgozása során elemzési hiba történt.
PreconditionEgy kötelező előfeltétel hiányzik.
QueueFullNem elérhető szolgáltatás miatti hiba történt (503-as HTTP-hiba). A szolgáltatás nem érhető el, mert az alkalmazás kérelem-várólistája megtelt.
RequestLengthEgy kérelem hossza meghaladta a korlátozást.
Timer_AppPoolA kapcsolat időtúllépés miatt megszakadt, mert egy kérelem túl sokáig várakozott egy alkalmazáskészlet várólistáján arra, hogy egy kiszolgálóalkalmazás eltávolítsa a várólistáról, és feldolgozza. Ez az időtúllépési időtartam a ConnectionTimeout. Az érték alapértelmezés szerinti beállítása két perc.
Timer_ConnectionIdleA kapcsolat időtúllépés miatt megszakadt, és tétlen állapotban marad. A ConnectionTimeout alapértelmezett időtartama két perc.
Timer_EntityBodyA kapcsolat időtúllépés miatt megszakadt a kérelem entitástörzsének érkezése előtt. Ha egyértelmű, hogy egy kérelem rendelkezik entitástörzzsel, a HTTP API bekapcsolja a Timer_EntityBody időzítőt. Az időzítőt kezdetben a ConnectionTimeout értékére állítja be a rendszer (ez általában 2 perc). Amikor az adott kérelemre vonatkozó új adatjelzés érkezik, a HTTP API minden alkalommal alaphelyzetbe állítja az időzítőt, és további két perccel (vagy a ConnectionTimeout megadott értékével) meghosszabbítja a kapcsolat időtartamát.
Timer_HeaderWaitA kapcsolat időtúllépés miatt megszakadt, mert egy kérelem fejléc-elemzése túllépte az alapértelmezett két perces időtartamkorlátot.
Timer_MinBytesPerSecondA kapcsolat időtúllépés miatt megszakadt, mert az ügyfél nem kapott elfogadható sebességű választ. A válaszküldési sebesség lassabb volt az alapértelmezett 240 bájt/másodperces sebességnél. Ez az érték a MinFileBytesPerSec metabázis-tulajdonsággal szabályozható.
Timer_ReqQueueA kapcsolat időtúllépés miatt megszakadt, mert egy kérelem túl sokáig várakozott egy alkalmazáskészlet várólistáján arra, hogy egy kiszolgálóalkalmazás eltávolítsa a várólistáról. Ez az időtúllépési időtartam a ConnectionTimeout. Az érték alapértelmezés szerinti beállítása két perc. A Windows Vista és Windows Server 2008 rendszerekre jellemző.
Timer_ResponseFoglalt. Jelenleg nincs használatban.
Timer_SslRenegotiation A kapcsolat időtúllépés miatt megszakadt, mert az ügyfél és a kiszolgáló közötti SSL-újraegyeztetés túllépte az alapértelmezett két perces időkorlátot.
URLEgy URL-cím feldolgozása során elemzési hiba történt.
URL_LengthEgy URL-cím meghaladta a megengedett maximális méretet.
MűveletEgy művelet feldolgozása során elemzési hiba történt.
Version_N/SNem támogatott verzió miatti hiba történt (505-ös HTTP-hiba).

Hivatkozások

Az IIS HTTP hibanaplózás további naplózási mezőkkel történő bővítéséről a Microsoft Tudásbázis következő cikkében tájékozódhat:
832975 Az IIS 6.0 és az IIS 7.0 szolgáltatásban már további tulajdonságok is naplózhatók a Httperr#.log fájlban (Előfordulhat, hogy a tartalom angol nyelven érhető el)
Megjegyzés: Ez egy „GYORS KÖZZÉTÉTELŰ” cikk, amelyet maga Microsoft támogatási csoportja készített. A benne fogalt információkat a jelentkező problémákra válaszul, az adott állapotukban biztosítjuk. Az anyagok a közzétételük gyorsaságából következően tartalmazhatnak sajtóhibákat, illetve külön értesítés nélkül bármikor átdolgozáson eshetnek át. További tudnivalók olvashatók a felhasználási feltételek között.

Tulajdonságok

Cikk azonosítója: 820729 - Utolsó ellenőrzés: 2012. november 30. - Verziószám: 2.0
Kulcsszavak: 
kbhttphandlers kbhttp kbapi kberrmsg kbinfo kbfixme kbmsifixme KB820729
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.

Visszajelzés küldése

 

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