Momentan sunteți offline, așteptați să vă reconectați la internet

Eroare de conectare la HTTP APIs

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 820729
Rezumat
Acest articol descrie caracteristicile în jurnal a erorilor HTTP APIs.

Unele erori care apar într-o aplicaţie bazată pe HTTP sunt gestionate automat de API HTTP în loc să fie retrimise unei aplicații pentru tratarea. Acest comportament se produce deoarece frecvența acestor erori ar putea altfel inunda un jurnal de evenimente sau o rutină de tratare a aplicației.

Subiectele următoare descriu diversele aspecte ale în jurnal a erorilor HTTP API.
  • Configurarea errorlogging HTTP API
    Setările de registry controlează HTTP API înregistrează erorile, maximum permis dimensiunea fișierelor jurnal și locația fișierelor jurnal.
  • Formatul jurnalelor de HTTP APIerror
    HTTP API creează fișiere de jurnal care sunt conforme cu georgian Wide Web Consortium (W3C) log file convenții. Puteţi utiliza instrumente standard pentru a analiza aceste fișiere jurnal. Cu toate acestea, spre deosebire de fișierele jurnal W3C, fișiere jurnal HTTP API face notcontain nume de sign-in coloanelor.
  • Tipuri de erori pe care HTTP API scrie
    HTTP API scrie multe erori comune.
Rezoluţie

Configurați în jurnal a erorilor HTTP API

Trei valori de registry sub o cheie HTTP \Parameters de control în jurnal a erorilor HTTP API. Aceste chei se află în următoarea cheie de registry:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Notă Locația și forma valorilor de configurare se pot modifica în versiunile ulterioare ale sistemului de operare Windows.

Trebuie să aveți acreditări de Administrator/sistem Local pentru a modifica valorile de registry și pentru a vizualiza sau modifica fișierele jurnal și folderul pe care le conține.

Informațiile de configurare în valorile de registry se citește pornirea driverului HTTP API. De aceea, dacă modificați setările, trebuie să opriți, și apoi reporniți driverul pentru a citi valorile noi. Pentru aceasta, tastați următoarele comenzi la consolă:
net stop http
net start http
Următoarea convenție de denumire este utilizată pentru a denumi fișierele jurnal:
httperr + număr de secvență + .log
De exemplu: httperr4.log
Fișierele jurnal sunt comutate când ajung la dimensiunea maximă care specifică valoarea de registry ErrorLogFileTruncateSize . Această valoare nu poate fi mai mic decât o singură megaocteți (MO).

În cazul în care configurația în jurnal a erorilor nu este valid sau orice tip de eroare apare în marcă de timp ce HTTP API scrie în fișierele jurnal, HTTP API utilizează înregistrarea în jurnal de evenimente pentru a notifica administratorii de faptul că nu apare în jurnal a erorilor.

Următorul tabel descrie valorile de configurare din registry.
Valoarea de registryDescrierea
EnableErrorLoggingUn DWORD că aveți posibilitatea să setați la TRUE pentru a activa înregistrarea în jurnal de eroare sau false se dezactivează. valoare implicită este TRUE.
ErrorLogFileTruncateSizeUn DWORD care specifică dimensiunea maximă a unui fișier jurnal de eroare, în octeți. valoare implicită este un mo (0x100000).

Notă Valoarea specificată nu poate fi mai mică decât valoare implicită.
ErrorLoggingDirUn șir care specifică folderul care HTTP API pune fișierele în jurnal.

HTTP API creează un subfolder HTTPERR în directorul specificat și apoi stochează fișierele jurnal în subfolderul. Acest subfolder și fișierele jurnal primesc aceleași setări de permisiuni. Administrator și conturile de sistem Local au acces complet. Alți utilizatori nu au acces.

Aceasta este folder implicit atunci când folderul nu este specificat în registry:
%SystemRoot%\System32\LogFiles

Notă Valoarea șirului ErrorLoggingDir trebuie să fie o cale locală complet. Cu toate acestea, poate să conțină % SystemRoot %. Nu se poate utiliza o unitate de reţea sau o partajare de rețea.

înapoi la început

Formatul jurnalelor de eroare HTTP API

În general, fișierele jurnal de eroare HTTP API au același format ca jurnalele de eroare W3C, cu excepţia faptului că fișierele jurnal de eroare HTTP API nu conțin antetele coloanelor. Fiecare linia Către a unui jurnal de eroare HTTP API înregistrează o eroare. Câmpurile apar într-o anumită ordine. Un caracter spațiu unic (0x0020) separă fiecare câmp din câmpul anterior. În fiecare câmp, semnele plus (0x002B) înlocuiesc caracterele spațiu, tabulatorii și control neimprimabile.

Următorul tabel identifică toate câmpurile și ordinea câmpurilor într-o înregistrare de jurnal de eroare.
CâmpDescrierea
DataCâmpul dată respectă formatul W3C. Acest câmp este bazat pe ora universală (UTC). Câmpul dată are întotdeauna zece caractere sub forma aaaa-ll-zz. De exemplu, 1 mai 2003 este exprimat ca 2003-05-01.
OraCâmpul dată respectă formatul W3C. Acest câmp este bazat pe UTC. Câmpul dată are întotdeauna opt caractere sub formă de MM:HH:SS. De exemplu, ora 5:30 PM (UTC) este exprimată ca 17:30:00.
Adresă IP clientAdresă IP a clientului în cauză. Valoarea din acest câmp poate fi fie o adresă IPv4 sau o adresă IPv6. Dacă Adresă IP a clientului este o adresă IPv6, câmpul ScopeId este, de asemenea, inclus în adresă.
Client PortNumărul de port pentru clientul în cauză.
Adresă IP serverAdresă IP a serverului în cauză. Valoarea din acest câmp poate fi fie o adresă IPv4 sau o adresă IPv6. Dacă Adresă IP server este o adresă IPv6, câmpul ScopeId este, de asemenea, inclus în adresă.
Server PortNumărul de port al serverului în cauză.
Versiune protocolVersiune de protocol care este utilizat.

În cazul în care conexiunea nu a fost analizată suficient trendul versiunea de protocol, se utilizează o cratimă (0x002D) ca un placeholderfor câmpul necompletat.

Dacă numărul de versiune majoră sau numărul de versiune minor este analizată isgreater decât sau egal cu 10, versiunea este scrisă în jurnal ca HTTP /?.?.
InstrucțiuneTextul vă informează că ultima solicitare a fost analizată cu succes. Sunt incluse și texte necunoscute, dar orice text care depășește 255 de octeți este trunchiat la această lungime. Dacă textul nu este disponibilă, o cratimă (0x002D) este folosit ca substituent pentru câmpul necompletat.
CookedURL + interogareAdresa URL și orice interogare asociată cu aceasta sunt conectat ca un singur câmp separat de un semn de întrebare (0x3F). Acest câmp este trunchiat la limita de 4.096 de octeți.

Dacă această adresă URL a fost analizată ("preparată"), se înregistrează cu cod local pagina de conversie, este tratată ca un câmp Unicode.

Dacă această adresă URL nu a fost analizată ("preparată") la thetime de înregistrare în jurnal, aceasta este copiată exact, fără conversia Unicode.

Dacă HTTP API nu poate analiza această adresă URL, un hyphen(0x002D) este utilizat ca substituent pentru câmpul necompletat.
Stare protocolStarea protocolului nu poate fi mai mare de 999.

Dacă starea protocolului răspunsului la o requestis disponibile, acesta este înregistrat în acest câmp.

Dacă starea protocolului nu este disponibil, o hyphen(0x002D) este utilizat ca un substituent pentru câmpul necompletat.
SiteIdNu se utilizează în această versiune de HTTP API. Apare întotdeauna o cratimă substituent (0x002D) în acest câmp.
Expresie motivAcest câmp conține un șir care identifică tipul de eroare care este înregistrat în jurnal. Acest câmp este lăsat niciodată necompletat.
Nume coadăAcest nume de coada pentru solicitare.
Următoarele linii ca exemplificare sunt dintr-un jurnal de eroare 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
înapoi la început

Tipuri de erori pe care HTTP API scrie

HTTP API înregistrează răspunsurile de eroare către clienți, expirările conexiunilor, solicitările solitare și conexiunile întrerupte gestionate incorect.

Listă tabel de mai jos identifică tipurile de erori pe care HTTP API scrie:
  • Răspunsuri către clienți HTTP API Trimite un răspuns de eroare către un client, de exemplu, o eroare 400 provocată de o eroare de analiză în ultima solicitare primită. După ce HTTP API Trimite răspunsul de eroare, acesta se închide conexiunea.
  • Expirări conexiuni HTTP API expiră o conexiune. Dacă există o solicitare în așteptare whenthe conexiunea expiră, solicitarea este utilizată pentru a furniza mai multe informații despre theconnection în Jurnalul de erori.
  • Orphaned cereri Un proces din mod utilizator se oprește în mod neașteptat în marcă de timp ce există solicitări încă în coadă care sunt direcționate către procesul respectiv. HTTP API scrie solicitările solitare în Jurnalul de erori.
Tipurile de erori specifice sunt desemnate de șiruri de Expresie motiv care apare întotdeauna ca ultimul câmp al fiecărei linii de eroare. Tabelul următor identifică expresiile cu motivele API HTTP.
Expresie motivDescrierea

AppOfflineA apărut o eroare de serviciu indisponibil (eroare HTTP 503). Serviciul nu este disponibil deoarece erorile de aplicație făcut ca aplicația să treacă în modul neconectat.
AppPoolTimerA apărut o eroare de serviciu indisponibil (eroare HTTP 503). Serviciul nu este disponibil deoarece procesul rezervorului de aplicații este prea ocupat pentru a gestiona solicitarea.
AppShutdownA apărut o eroare de serviciu indisponibil (eroare HTTP 503). Serviciul nu este disponibil deoarece aplicația se închide automat ca răspuns la politica de administrator.
BadRequestEroare de analiză la procesarea unei solicitări.
Client_ResetConexiunea între client și server s-a închis înainte ca solicitarea ar putea fi atribuită unui proces de lucru. Cea mai frecventă cauză a acestui comportament este că clientul închide prematur conexiunea la server.
Connection_Abandoned_By_AppPoolUn proces de lucru din rezervorul de aplicații de a închide în mod neașteptat sau a lăsat solitară o solicitare în așteptare închizând rutina de tratare.
Connection_Abandoned_By_ReqQueueUn proces de lucru din rezervorul de aplicații de a închide în mod neașteptat sau a lăsat solitară o solicitare în așteptare închizând rutina de tratare. Specific pentru Windows Vista și versiuni ulterioare și Windows Server 2008 și versiunile ulterioare.
Connection_DroppedConexiunea între client și server s-a închis înainte ca serverul să poată trimite pachetul cu răspunsul final. Cea mai frecventă cauză a acestui comportament este că clientul închide prematur conexiunea la server.
Connection_Dropped_List_FullListă tabel de conexiuni întrerupte între clienții și server este plină. Specifice pentru Windows Vista și versiuni ulterioare și Windows Server 2008 și versiunile ulterioare.
ConnLimitA apărut o eroare de serviciu indisponibil (eroare HTTP 503). Serviciul nu este disponibil deoarece a atins sau a depășit limita de conexiuni la nivelul site-ului.
Connections_RefusedMemoria NonPagedPool de nucleu a scăzut sub 20 Mo și http.sys s-a oprit primind conexiuni noi
Cu handicapA apărut o eroare de serviciu indisponibil (eroare HTTP 503). Serviciul nu este disponibil, deoarece un administrator a trecut aplicația în mod neconectat.
EntityTooLargeO entitate a depășit dimensiunea maximă permisă.
FieldLengthS-a depășit limita de lungime a unui câmp.
InterzisS-a întâlnit un element interzis sau secvență interzisă.
AntetEroare de analiză în antet.
nume gazdăEroare de analiză la procesarea unui nume gazdă.
InternăEroare internă de server (eroare HTTP 500).
Invalid_CR/LFA apărut un caracter incorect de sfârșit de linia Către sau flux.
LengthRequiredLipsit o valoare de lungimea necesară.
N/AA apărut o eroare de serviciu indisponibil (eroare HTTP 503). Serviciul nu este disponibil deoarece a apărut o eroare internă (cum ar fi o eroare la alocarea de memorie sau Listă tabel de rezervare URL conflict).
N / AMO eroare nu implementează apărut (eroare HTTP 501), sau o eroare de serviciu indisponibil (eroare HTTP 503) din cauza unei codări necunoscute la transfer.
Număr deEroare de analiză la procesarea unui număr.
Condiție prealabilăLipsit o condiție prealabilă necesară.
QueueFullA apărut o eroare de serviciu indisponibil (eroare HTTP 503). Serviciul nu este disponibil deoarece coada cu solicitările de aplicație este plină.
RequestLengthS-a depășit limita de lungime unei solicitări.
Timer_AppPoolConexiunea a expirat deoarece o solicitare a așteptat prea mult în coada unui rezervor de aplicații pentru o aplicație de server pentru a-coadă și procesare a acestuia. Această durată de expirare este ConnectionTimeout. implicit, această valoare este setată la două minute.
Timer_ConnectionIdleConexiunea a expirat și rămâne inactivă. Durata ConnectionTimeout implicită este de două minute.
Timer_EntityBodyConexiunea a expirat înainte de sosirea corpului entității de solicitare. Când o solicitare clar are un corp de entitate, HTTP API activează temporizatorul Timer_EntityBody . La prima, limita acestui temporizator este setată la valoarea ConnectionTimeout (de obicei, două minute). De fiecare dată când la această solicitare se primește că o altă indicație, HTTP API resetează temporizatorul pentru a acorda conexiunii încă două minute (sau orice este specificat în ConnectionTimeout).
Timer_HeaderWaitConexiunea a expirat deoarece analiza antetului unei solicitări a durat mai mult marcă de timp decât limita implicită de două minute.
Timer_MinBytesPerSecondConexiunea a expirat deoarece clientul nu s-a primit un răspuns la o viteză rezonabilă. Frecvența de trimitere a răspunsului a fost mai lentă decât cea implicită de 240 de octeți/sec. Acest lucru poate fi controlat cu proprietatea de metabază MinFileBytesPerSec .
Timer_ReqQueueConexiunea a expirat deoarece o solicitare a așteptat prea mult în coada unui rezervor de aplicații pentru o aplicație de server pentru a-coadă. Această durată de expirare este ConnectionTimeout. implicit, această valoare este setată la două minute. Specific pentru Windows Vista și versiuni ulterioare și Windows Server 2008 și versiunile ulterioare.
Timer_ResponseRezervate. Nu se utilizează momentan.
Timer_SslRenegotiationConexiunea a expirat deoarece renegocierea SSL între client și server a durat mai mult decât durata de expirare implicită de două minute.
URLEroare de analiză la procesarea unei adrese URL.
URL_LengthO adresă URL a depășit dimensiunea maximă permisă.
InstrucțiuneEroare de analiză la procesarea unui text.
Version_N/SA apărut o eroare de versiune-neacceptată (eroare HTTP 505).

înapoi la început
Referinţe
Pentru mai multe informații despre cum se adaugă câmpuri suplimentare de înregistrare în jurnal pentru în jurnal a erorilor IIS HTTP, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
832975 Proprietățile suplimentare sunt acum disponibile pentru scrierea în jurnal în fișierul Httperr # .log în IIS 6.0 și IIS 7.0

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 820729 - Ultima examinare: 08/06/2016 01:29:00 - Revizie: 5.0

Windows Server 2008 R2 Standard, Windows Server 2008 R2 Enterprise, Windows Server 2008 Enterprise, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 for Embedded Systems, Windows Server 2012 R2 Foundation, Windows Server 2012 Standard, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows 10, Windows 10 Enterprise, released in July 2015, Windows 10 Pro, released in July 2015, Windows 10 Version 1511, Windows 8.1, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows 8, Windows 8 Pro, Windows 8 Enterprise, Windows 7 Professional, Windows 7 Enterprise

  • kbhttphandlers kbhttp kbapi kberrmsg kbinfo kbmt KB820729 KbMtro
Feedback
ementsByTagName("head")[0].appendChild(m);