I artikeln beskrivs funktionerna för felloggning i HTTP-API (Hypertext Transfer Protocol).
Vissa fel som uppstår i ett HTTP-baserat program hanteras automatiskt av HTTP-API:t i stället för att skickas tillbaka till programmet för hantering. Det görs för att frekvensen hos sådana fel i annat fall kanske gör att händelseloggen eller programhanteraren svämmar över.
I följande ämnen beskrivs de olika aspekterna av felloggning i HTTP-API:
- Konfigurera felloggning i HTTP-API
Registerinställningar styr loggfelen i HTTP-API, den högsta tillåtna storleken på loggfilerna och platsen för loggfilerna. - Format för felloggarna i HTTP-API
I HTTP-API:t skapas loggfiler som uppfyller W3C-loggfilskonventionerna (World Wide Web Consortium). Du kan använda standardverktyg för att tolka loggfilerna. Till skillnad från W3C-loggfilerna innehåller loggfilerna i HTTP-API:t dock inte kolumnnamn. - Typer av fel som loggas i HTTP-API
I HTTP-API:t loggas en mängd vanliga fel.
Konfigurera felloggning i HTTP-API
Om du vill att vi ska konfigurera felloggning i HTTP-API går du till avsnittet
Lös det åt mig. Om du hellre vill konfigurera felloggningen i HTTP-API själv går du till avsnittet
Jag löser det själv.
Lös det åt mig
Om du vill att problemet ska åtgärdas automatiskt klickar du på knappen eller länken
Fix it. Klicka sedan på
Kör i dialogrutan
Filhämtning och följ anvisningarna i Fix it-guiden.
Obs!- Den här guiden finns eventuellt bara på engelska. Den automatiska korrigeringsfilen fungerar dock även för andra språkversioner av Windows.
- Om du inte sitter vid datorn där problemet finns kan du spara Fix it-lösningen på ett flashminne eller en cd och sedan köra den på rätt dator.
Jag löser det själv
Tre registervärden under nyckeln
HTTP \Parameters styr felloggningen i HTTP-API. Nycklarna finns i följande registernyckel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Obs! Platsen och formen för konfigurationsvärdena kan ändras i senare versioner av operativsystemet Microsoft Windows.
Du måste ha autentiseringsuppgifter för administratör/det lokala systemet för att ändra registervärdena och för att visa eller ändra loggfilerna och mappen som innehåller loggfilerna.
Konfigurationsinformation i registervärdena läses in när drivrutinen för HTTP-API startar. Därför måste du, om du ändrar inställningarna, avbryta och sedan starta om drivrutinen för att de nya värdena ska läsas in. Skriv i så fall följande konsolkommandon:
net stop http
net start http
Följande namnkonvention används för att döpa loggfilerna:
httperr + sekvensnummer + .log
Ett exempel: httperr4.log
Loggfilerna roteras när de når den högsta tillåtna storleken som anges av registervärdet
ErrorLogFileTruncateSize. Värdet kan inte vara mindre än 1 megabyte (MB).
Om felloggningskonfigurationen inte är giltig eller om någon annan typ av fel inträffar medan HTTP-API:t skriver i loggfilerna använder HTTP-API:t händelseloggning för att meddela administratörerna att felloggning inte sker.
I följande tabell beskrivs registerkonfigurationsvärdena.
Dölj tabellenVisa tabellen
| Registervärde | Beskrivning |
| EnableErrorLogging | Ett DWORD-värde som du kan ställa in på TRUE för att aktivera felloggning eller FALSE för att inaktivera det. Standardvärdet är TRUE. |
| ErrorLogFileTruncateSize | Ett DWORD-värde som anger högsta tillåtna storlek på en felloggfil, anges i byte. Standardvärdet är 1 MB (0x100000).
Obs! Det angivna värdet kan inte vara mindre än standardvärdet. |
| ErrorLoggingDir | En sträng som anger mappen där HTTP-API placerar sina loggfiler.
HTTP-API skapar undermappen HTTPERR i den angivna mappen och sparar sedan loggfilerna i undermappen. Undermappen och loggfilerna får samma behörighetsinställningar. Administratörskontot och kontot för det lokala systemet får fullständig åtkomst. Andra användare får inte åtkomst.
Följande är standardmappen när mapp inte anges i registret: %SystemRoot%\System32\LogFiles
Obs! Strängvärdet ErrorLoggingDir måste vara en fullt giltig lokal sökväg. Det kan dock innehålla %SystemRoot%. En nätverksenhet eller nätverksresurs får inte användas. |
Format för felloggarna i HTTP-API
I allmänhet har felloggarna i HTTP-API samma format som W3C-felloggarna, förutom att felloggarna i HTTP-API inte innehåller kolumnrubriker. Varje rad i en HTTP-API-fellogg innehåller ett fel. Fälten visas i en viss ordning. Ett enkelt blanksteg (0x0020) skiljer ett fält från föregående fält. I varje fält ersätter plustecknen (0x002B) blanksteg, tabbar och icke-utskrivbara kontrolltecken.
I följande tabell anges fälten och ordningen för fälten i en felloggspost.
Dölj tabellenVisa tabellen
| Fält | Beskrivning |
| Datum | Datumfältet följer W3C-formatet. Fältet baseras på UTC-tid (Coordinated Universal Time). Datumfältet innehåller alltid 10 tecken enligt formatet ÅÅÅÅ-MM-DD. Exempel: 1 maj 2003 skrivs 2003-05-01. |
| Tid | Tidsfältet följer W3C-formatet. Fältet baseras på UTC-tid. Tidsfältet innehåller alltid 8 tecken enligt formatet MM:HH:SS. Exempel: 5:30 PM (UTC) skrivs 17:30:00. |
| Klientens IP-adress | Den berörda klientens IP-adress. Värdet i fältet kan vara antingen en IPv4-adress eller en IPv6-adress. Om klientens IP-adress är en IPv6-adress ingår fältet Scopeld också i adressen. |
| Klientport | Den berörda klientens portnummer. |
| Serverns IP-adress | Den berörda serverns IP-adress. Värdet i fältet kan vara antingen en IPv4-adress eller en IPv6-adress. Om serverns IP-adress är en IPv6-adress ingår fältet Scopeld också i adressen. |
| Serverport | Den berörda serverns portnummer. |
| Protokollversion | Protokollversionen som används.
Om anslutningen inte har tolkats tillräckligt för att kunna fastställa protokollversionen används ett bindestreck (0x002D) som platshållare för det tomma fältet.
Om antingen det högre versionsnumret eller det lägre versionsnumret tolkas som större än eller lika med 10 loggas versionen som HTTP/?.?. |
| Verb | Verb innebär att den senaste begäran som tolkades godkänns. Okända verb tas med, men verb som är mer än 255 byte trunkeras till denna längd. Om ett verb inte är tillgängligt används ett bindestreck (0x002D) som platshållare för det tomma fältet. |
| CookedURL + fråga | URL och frågor som associeras med detta loggas som ett fält som åtskiljs med ett frågetecken (0x3F). Fältet trunkeras med en längdbegränsning på 4 096 byte.
Om URL-adressen har tolkats ("cooked") loggas den med konverteringen i den lokala teckentabellen och hanteras som ett Unicode-fält.
Om URL-adressen inte har tolkats ("cooked") vid tidpunkten för loggningen kopieras den exakt, utan någon Unicode-konvertering.
Om HTTP-API inte kan tolka URL-adressen används ett bindestreck (0x002D) som platshållare för det tomma fältet. |
| Protokollstatus | Protokollstatus kan inte vara större än 999.
Om protokollstatus för svar på en begäran är tillgängligt loggas det i det här fältet.
Om protokollstatus inte är tillgängligt används ett bindestreck (0x002D) som platshållare för det tomma fältet. |
| SiteId | Används inte i den här versionen av HTTP-API. Ett platshållarbindestreck (0x002D) visas alltid i det här fältet. |
| Orsaksfras | Fältet innehåller en sträng som anger vilken typ av fel som loggas. Fältet lämnas aldrig tomt. |
| Könamn | Detta är könamn för begäran.
|
Följande exempelrader är hämtade från en fellogg i HTTP-API:
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
Typer av fel som loggas i HTTP-API
I HTTP-API loggas felsvar till klienter, timeout för anslutningar, övergivna begäranden och avbrutna anslutningar som hanteras felaktigt.
I följande lista anges vilka typer av fel som loggas i HTTP-API:
- Svar till klienter HTTP-API skickar ett felsvar till en klient, till exempel ett 400-fel som orsakas av ett tolkningsfel i den senast mottagna begäran. När HTTP-API har skickat felsvaret avslutas anslutningen.
- Timeout för anslutningar HTTP-API avbryter en anslutning på grund av timeout. Om en begäran väntar när anslutningen avbryts på grund av timeout används begäran för att få mer information om anslutningen i felloggen.
- Övergivna begäranden En process i användarläge avbryts oväntat när det fortfarande finns andra begäranden i kö som dirigeras till den processen. HTTP-API loggar de övergivna begärandena i felloggen.
Särskilda feltyper betecknas som strängen
Orsaksfras och visas alltid som sista fält i varje felrad. I följande tabell anges orsaksfraserna i HTTP-API.
Dölj tabellenVisa tabellen
| Orsaksfras | Beskrivning
|
| AppOffline | Felet tjänsten är inte tillgänglig inträffade (HTTP-fel 503). Tjänsten är inte tillgänglig eftersom programfel gjorde så att programmet kopplades från. |
| AppPoolTimer | Felet tjänsten är inte tillgänglig inträffade (HTTP-fel 503). Tjänsten är inte tillgänglig eftersom programmets poolprocess är för upptagen för att hantera begäran. |
| AppShutdown | Felet tjänsten är inte tillgänglig inträffade (HTTP-fel 503). Tjänsten är inte tillgänglig eftersom programmet automatiskt stoppats som svar på en administratörsprincip. |
| BadRequest | Ett tolkningsfel inträffade när begäran bearbetades. |
| Client_Reset | Anslutningen mellan klienten och servern har stängts innan begäran kunde tilldelas en jobbprocess. Den vanligaste orsaken till detta är att klienten stoppar sin anslutning till servern för tidigt. |
| Connection_Abandoned_By_AppPool | En jobbprocess från programpoolen har avbrutits oväntat eller övergett en väntande begäran genom att stänga referensen. |
| Connection_Abandoned_By_ReqQueue | En jobbprocess från programpoolen har avbrutits oväntat eller övergett en väntande begäran genom att stänga referensen. Speciellt för Windows Vista och Windows Server 2008. |
| Connection_Dropped | Anslutningen mellan klient och server har stängts innan servern hann skicka det slutliga svarspaketet. Den vanligaste orsaken till detta är att klienten stoppar sin anslutning till servern för tidigt. |
| Connection_Dropped_List_Full | Listan med avbrutna anslutningar mellan klient och server är full. Speciellt för Windows Vista och Windows Server 2008. |
| ConnLimit | Felet tjänsten är inte tillgänglig inträffade (HTTP-fel 503). Tjänsten är inte tillgänglig eftersom anslutningsgränsen för webbplatsnivån har uppnåtts eller överskridits. |
| Connections_Refused | Kernel-minnet NonPagedPool har fallit under 20 MB och http.sys har slutat att ta emot nya anslutningar |
| Inaktiverad | Felet tjänsten är inte tillgänglig inträffade (HTTP-fel 503). Tjänsten är inte tillgänglig eftersom en administratör har kopplat från programmet. |
| EntityTooLarge | En enhet har överskridit den högsta tillåtna storleken. |
| FieldLength | Gränsen för fältlängd har överskridits. |
| Förbjuden | Ett förbjudet element eller en förbjuden sekvens upptäcktes vid tolkningen. |
| Huvud | Ett tolkningsfel uppstod i ett huvud. |
| Värdnamn | Ett tolkningsfel uppstod när Värdnamn bearbetades. |
| Intern | Det uppstod ett internt serverfel (HTTP-fel 500). |
| Invalid_CR/LF | En ogiltig vagnretur eller radmatning har inträffat. |
| LengthRequired | Ett obligatoriskt värde för längd saknas. |
| Saknas | Felet tjänsten är inte tillgänglig inträffade (HTTP-fel 503). Tjänsten är inte tillgänglig på grund av ett internt serverfel (till exempel fel i minnesallokeringen). |
| Ej implementerat | Felet ej implementerat uppstod (HTTP-fel 501), eller felet tjänsten är inte tillgänglig uppstod (HTTP-fel 503) på grund av en okänd överföringskodning. |
| Nummer | Ett tolkningsfel uppstod när ett nummer bearbetades. |
| Förhandsvillkor | Ett obligatoriskt förhandsvillkor saknas. |
| QueueFull | Felet tjänsten är inte tillgänglig inträffade (HTTP-fel 503). Tjänsten är inte tillgänglig eftersom kön för programbegäranden är full. |
| RequestLength | Gränsen för begärandelängd har överskridits. |
| Timer_AppPool | Anslutningen har upphört eftersom en begäran väntat för länge i en programpoolskö på att ett serverprogram skulle ta begäran ur kön och bearbeta den. Varaktigheten för timeout är ConnectionTimeout. Standardvärdet för det här värdet är 2 minuter. |
| Timer_ConnectionIdle | Anslutningen har upphört och är i viloläge. Standardvaraktigheten för ConnectionTimeout är 2 minuter. |
| Timer_EntityBody | Anslutningen har upphört innan begärans enhetstext kommit fram. När det står klart att en begäran innehåller enhetstext aktiverar HTTP-API timern Timer_EntityBody. Inledningsvis är gränsen för timern inställd på värdet ConnectionTimeout (vanligtvis 2 minuter). Varje gång en till dataindikering tas emot i begäran ställer HTTP-API tillbaka timern så att anslutningen får ytterligare 2 minuter (eller det värde som anges i ConnectionTimeout). |
| Timer_HeaderWait | Anslutningen har upphört eftersom huvudet som tolkar begäran dröjde längre än standardgränsen på 2 minuter. |
| Timer_MinBytesPerSecond | Anslutningen har upphört eftersom klienten inte tagit emot ett svar i en rimlig hastighet. Svarshastigheten för att skicka var långsammare än standardhastigheten på 240 byte/s. Det kan kontrolleras med metabasegenskapen MinFileBytesPerSec. |
| Timer_ReqQueue | Anslutningen har upphört eftersom en begäran väntat för länge i en programpoolskö på att ett serverprogram skulle ta begäran ur kön. Varaktigheten för timeout är ConnectionTimeout. Standardvärdet för det här värdet är 2 minuter. Speciellt för Windows Vista och Windows Server 2008. |
| Timer_Response | Förbehåll. Används inte för närvarande. |
| Timer_SslRenegotiation
| Anslutningen har upphört eftersom SSL-omförhandlingen mellan klient och server dröjde längre än standardtimeouten på 2 minuter.
|
| URL | Ett tolkningsfel uppstod när URL bearbetades. |
| URL_Length | En URL-adress har överskridit den högsta tillåtna storleken. |
| Verb | Ett tolkningsfel uppstod när ett verb bearbetades. |
| Version_N/S | Felet versionen stöds inte inträffade (HTTP-fel 505). |
Om du vill veta mer om att lägga till ytterligare loggningsfält för IIS HTTP-felloggning klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
832975
(http://support.microsoft.com/kb/832975/
)
Ytterligare egenskaper är nu tillgängliga för loggning i filen Httperr#.log i IIS 6.0 och IIS 7.0
(Detta kan vara på engelska)
Obs! Det här är en "FAST PUBLISH?-artikel som skapats direkt inom Microsofts supportorganisation. Informationen i artikeln tillhandahålls i befintligt skick för att besvara framtida frågor. På grund av den snabba framtagningen kan materialet innehålla typografiska fel och kan utan förvarning när som helst komma att omarbetas. Se
användarvillkoren
(http://go.microsoft.com/fwlink/?LinkId=151500)
för andra hänsynstaganden.
Artikel-id: 820729 - Senaste granskning: den 30 november 2012 - Revision: 2.0
| kbhttphandlers kbhttp kbapi kberrmsg kbinfo kbfixme kbmsifixme KB820729 |