title | author | description | ms.date | ms.assetid | msc.legacyurl | msc.type |
---|---|---|---|---|---|---|
How to Use HTTP Detailed Errors in IIS 7.0 |
rick-anderson |
Every Web-Site Administrator or Web Developer has seen ‘404 — File not found’, ‘401 — Unauthorized’ or ‘500 — Server Error’ messages in his browser. This ar… |
12/12/2007 |
33897393-97b8-4ee1-836f-25b1348dc3a3 |
/learn/troubleshoot/diagnosing-http-errors/how-to-use-http-detailed-errors-in-iis |
authoredcontent |
by IIS Team
Introduction
Every Web-Site Administrator or Web Developer has seen «404 — File not found», «401 — Unauthorized» or «500 — Server Error» messages in his browser. This article helps you understand how and why IIS generates these errors and how they can be configured.
Many might think that generating error messages does not seem to justify a full article. But there is more to errors than meets the eye. Error messages are a sensitive topic, because every error reveals more about your web-site than you might want revealed. The more information someone can gather about your site, the likelier it is that you will be hacked. A search for «google hacking» or «cross-site scripting» reveals a wealth of information on this topic.
However, error messages are also a valuable tool to troubleshoot problems. Developers and Web-Site Administrators require as much detail as possible when an error occurs. Ideally the error message gives recommendations on how to fix the problem. Here is how IIS addresses these fundamentally opposed goals.
Errors, What Errors?
This article talks about HTTP errors as specified in the HTTP RFC (RFC 2616 — section 6.1.1). An HTTP error is always expressed by sending a response with a status code greater than 400 back to the requesting client.
Client Errors
Status codes between 400 and 500 specify an error that the client made, e.g. bad syntax or a request to a resource that doesn’t exist. You can try this by requesting a bogus URL from the web-site of your choice, for example: http://<IIS7Server>/this_resource_does_not_exist. You get a «404 — File not found» error.
Server Errors
Status codes starting with 500 are errors caused by the server. The most common causes for 500 errors on IIS systems are:
- An ASP or ASPX page that contains a syntax error
- The web server configuration or the application configuration cannot be read or is invalid
- The site is stopped
It is important to note that browsers like IE often replace errors returned from a web server with their own errors. This makes troubleshooting harder. In IE you can turn this feature off. Go to the «Tools» menu, select «Internet Options», click the «Advanced» tab and find the «Show friendly HTTP error messages» check box and uncheck it. To see the raw response, use HTTP tools like WFETCH in the IIS 6.0 Resource Kit (see «Related Links»).
HTTP Errors in IIS
There are two things that can happen when the httpError module (custerr.dll) encounters an error:
- A custom error is generated
- A detailed error is generated
Custom errors are error pages that the regular users of your web-site see. They contain a brief error description of why the error happened, but nothing else. Here is the custom error generated when you request a resource that does not exist, for example: http://<IIS7Server>/this_resource_does_not_exist
Detailed errors are intended for local administrators and developers. They are supposed to provide information that helps to immediately fix the problem. Here is an example of the same request, but now returning a Detailed Error:
This is dangerous, because Detailed Errors contain information about the inner workings of your web-site. Only trusted personnel should see a Detailed Error. The only way to ensures this is to only generate a detailed error if the request comes from the local machine. As soon as the request is not local, a custom error is generated. Look at the following flow diagram:
Data Flow
First: Error check
The httpError module receives a notification if a response is about to be sent (RQ_SEND_RESPONSE notification). The httpError module checks the status code of this response and immediately returns if the status code is not greater than 400.
Second: Custom Error or Detailed Error
The next check is determined by the request origin (is the request a local or remote request) and the setting of the errorMode property. The errorMode property is set to DetailedLocalOnly, which means that Custom Errors are generated for every remote request. If errorMode is set to «Custom», then all error responses will become Custom Error. If errorMode is set to «Detailed» all error responses will become Detailed Errors. The following table clarifies this behavior:
errorMode | Request origin | Action |
---|---|---|
DetailedLocalOnly (default) | Local | Detailed Error |
DetailedLocalOnly (default) | Remote | Custom Error |
Custom | Local | Custom Error |
Custom | Remote | Custom Error |
Detailed | Local | Detailed Error |
Detailed | Remote | Detailed Error |
If the httpError module determines that a Custom Error must be generated, it looks into its configuration to see if it can find a matching error. If a match is found, it sends the static file, redirects the request or executes the URL specified. If no match can be found, IIS send a basic one-line message containing the status code. The next section explains the Custom Error configuration in detail.
If custerr.dll determines that a Detailed Error must be generated, another check is needed. IIS does not touch the response if a module overrode the entity of the response with its own error description. It might contain valuable information. ASP.NET is a good example. The entity of an ASP.NET error response might contain the exception stack and its own error description. A Detailed Error is only generated if the entity body of the response is empty.
<httpErrors>
Configuration
Here is the IIS custom error section obtained on a clean install:
[!code-xmlMain]
You see that if the status code of a response is 401, IIS will return a file named 401.htm.
Sub-Status Codes
Many HTTP errors have a sub-status. The IIS default Custom Errors configuration does not differentiate based sub-status codes. It sends the same Custom Error page if you enter the wrong credentials (401.1), or if you get access denied based on invalid rights to access a file (401.3). You can see the different sub-status codes in the log files or via Detailed Errors. Here is a list of the different 404 sub-status codes that IIS produces:
Status | Description |
---|---|
404.1 | Site could not be found |
404.2 | Denied by Policy. The request ISAPI or CGI program is not allowed in the Restriction List. |
404.3 | The static file handler did not have the file in its MimeMap and therefore rejected the request. |
404.4 | No handler was found to serve the request. |
404.5 | The Request Filtering Module rejected an URL sequence in the request. |
404.6 | The Request Filtering Module denied the HTTP verb of the request. |
404.7 | The Request Filtering module rejected the file extension of the request. |
404.8 | The Request Filtering module rejected a particular URL segment (characters between two slashes). |
404.9 | IIS rejected to serve a hidden file. |
404.11 | The Request Filtering module rejected a request that was double escaped. |
404.12 | The Request Filtering module rejected a request that contained high bit characters. |
404.14 | The Request Filtering module rejected a request with a URL that was too long. |
404.15 | The Request Filtering module rejected a request with a too long query string. |
413.1 | The Request Filtering module rejected a request that was too long (request + entity body). |
431 | The Request Filtering module rejected a header that was too long. |
You can configure the httpErrors section to show a Custom Error for particular sub-status codes. If you add the following line to the httpErrors configuration section, IIS returns 404_3.htm if a file with a file extension is requested that is not included in the IIS MimeMap (<staticContent> configuration section).
[!code-xmlMain]
Here is how to make the example work:
- Add the entry above to your httpErrors configuration section.
- Create a file named 404_3.htm in your
c:inetpubcusterren-us
directory. - Create a file named test.yyy in you
c:inetpubwwwroot
directory. - Now request
http://localhost/test.yyy
.
The file extension .yyy is not part of the IIS MimeMap and the static file handler will not serve it.
New in IIS: Language-specific Custom Errors
Each more recent browser includes the language of the client as a request header. Here is an example of how this header might look:
[!code-consoleMain]
The syntax and registry of accepted languages is specified in RFC1766.
When generating an error, IIS takes this header into account when it looks for the custom error file it returns. It generates the path for the custom error using the following logic:
prefixLanguageFilePath configuration setting (for example c:inetpubcusterr
)+
Accept-Language header sent by the client (for example en-us) +
Path configuration setting (for example 404.htm)
Example:
If the browser sends a request for an non-existing resource and the «Accept-Language» header has the value of «en-us,» the file that gets returned will be c:inetpubcusterren-us404.htm
.
For example, if you are from Germany, you want your error messages in German. To do this, you must install the Windows Vista Language Pack for German. This creates the c:inetpubcusterrde-DE
directory with custom error files in it. Now if the browser sends the «Accept-Language» header with the value of «de-DE, the file that gets returned will be c:inetpubcusterrde-DE404.htm
.
IIS will always fall back to the system language if the directory «de-DE» does not exist.
[!NOTE]
Internet Explorer allows you to configure the Accept-Language header. Go to «Tools» — «Internet Option», select the «General» tab and click the «Languages» button.
Custom Error Options
In the above examples, IIS sends the contents of the file as the custom error response. IIS has two other ways to respond to an error: by executing an URL or by redirecting the request.
ExecuteUrl
If you want to do more in your custom error, e.g. sending an e-mail or logging the error to a database, you can execute an url. This allows you to execute dynamic content like an ASP.NET page. The example below replaces the 404 custom error. Now IIS executes /404.aspx whenever a 404 error occurs.
[!code-xmlMain]
Security Considerations
A word of caution: For architectural reasons, IIS can only execute the URL if it is located in the same Application Pool. Use the redirect feature to execute a Custom Error in a different Application Pool.
IIS can also return a 302 Redirect to the browser when a particular error occurs. Redirect is good if you have a server farm. For instance, you can redirect all your errors to a central location that you closely monitor.
There is risk however: responseMode=»File» (which is the default) allows you to specify every file on the disk. This will not work if you are very security conscious.
A workable scenario might include only allowing the delegation of the errorMode setting. This enables a developer to receive Detailed Errors for his application even if he is using a remote client. All that is necessary is to set errorMode=»Detailed». Here is how to configure this scenario:
Allow the delegation of the httpErrors section:
[!code-xmlMain]
Second, go to the <httpErrors>
section in applicationHost.config and change it so that only errorMode is delegated:
[!code-xmlMain]
Summary
Custom and Detailed Errors are powerful IIS features. They help you to troubleshoot problems without compromising the security of your IIS Server. Many configuration options help you to custom tailor your users’ experience. Most importantly: experimenting with it is fun.
See also
- Troubleshooting Common IIS Errors
Question
What do the various IIS error codes mean?
Answer
IIS Status Codes
The following information was extracted from Microsoft KB article 318380.
Summary
When users try to access content on a server that is running Internet Information Services (IIS) through HTTP or File Transfer Protocol (FTP), IIS returns a numeric code that indicates the status of the request. This status code is recorded in the IIS log, and it may also be displayed in the Web browser or FTP client. The status code can indicate whether a particular request is successful or unsuccessful and can also reveal the exact reason why a request is unsuccessful.
Log File Locations
By default, IIS places its log files in %WINDIRSystem32Logfiles. This directory contains separate directories for each World Wide Web (WWW) and FTP site. By default, logs are created in the directories daily and are named with the date (for example, exYYMMDD.log).
HTTP
1xx — Informational
These status codes indicate a provisional response. The client should be prepared to receive one or more 1xx responses before receiving a regular response.
100 — Continue. | |
101 — Switching protocols. |
2xx — Success
This class of status codes indicates that the server successfully accepted the client request.
200 — OK. The client request has succeeded. | |
201 — Created. | |
202 — Accepted. | |
203 — Non-authoritative information. | |
204 — No content. | |
205 — Reset content. | |
206 — Partial content. |
3xx — Redirection
The client browser must take more action to fulfill the request. For example, the browser may have to request a different page on the server or repeat the request by using a proxy server.
301 — Moved Permanently | |
302 — Object moved. | |
304 — Not modified. | |
307 — Temporary redirect. |
4xx — Client Error
An error occurs, and the client appears to be at fault. For example, the client may request a page that does not exist, or the client may not provide valid authentication information.
400 — Bad request. | |||||||||||||||||||||||||||||||||||||||||
401 — Access denied. IIS defines a number of different 401 errors that indicate a more specific cause of the error. These specific error codes are displayed in the browser but are not displayed in the IIS log:
|
|||||||||||||||||||||||||||||||||||||||||
403 — Forbidden. IIS defines a number of different 403 errors that indicate a more specific cause of the error:
|
|||||||||||||||||||||||||||||||||||||||||
404 — Not found.
|
|||||||||||||||||||||||||||||||||||||||||
405 — HTTP verb used to access this page is not allowed (method not allowed.) | |||||||||||||||||||||||||||||||||||||||||
406 — Client browser does not accept the MIME type of the requested page. | |||||||||||||||||||||||||||||||||||||||||
407 — Proxy authentication required. | |||||||||||||||||||||||||||||||||||||||||
412 — Precondition failed. | |||||||||||||||||||||||||||||||||||||||||
413 – Request entity too large. | |||||||||||||||||||||||||||||||||||||||||
414 — Request-URI too long. | |||||||||||||||||||||||||||||||||||||||||
415 – Unsupported media type. | |||||||||||||||||||||||||||||||||||||||||
416 – Requested range not satisfiable. | |||||||||||||||||||||||||||||||||||||||||
417 – Execution failed. | |||||||||||||||||||||||||||||||||||||||||
423 – Locked error. |
5xx — Server Error
The server cannot complete the request because it encounters an error.
500 — Internal server error.
|
|||||||||||||
501 — Header values specify a configuration that is not implemented. | |||||||||||||
502 — Web server received an invalid response while acting as a gateway or proxy.
|
|||||||||||||
503 — Service unavailable. This error code is specific to IIS 6.0. | |||||||||||||
504 — Gateway timeout. | |||||||||||||
505 — HTTP version not supported. |
Common HTTP Status Codes and Their Causes
200 — Success. This status code indicates that IIS has successfully processed the request. | |||||
304 — Not Modified. The client requests a document that is already in its cache and the document has not been modified since it was cached. The client uses the cached copy of the document, instead of downloading it from the server. | |||||
401.1 — Logon failed. The logon attempt is unsuccessful, probably because of a user name or password that is not valid. | |||||
401.3 — Unauthorized due to ACL on resource. This indicates a problem with NTFS permissions. This error may occur even if the permissions are correct for the file that you are trying to access. For example, you see this error if the IUSR account does not have access to the C:WinntSystem32Inetsrv directory. For additional information about how to resolve this problem, click the following article number to view the article in the Microsoft Knowledge Base:
187506 (http://support.microsoft.com/kb/187506/) INFO: Basic NTFS permissions for IIS 4.0 |
|||||
403.1 — Execute access forbidden. The following are two common causes of this error message:
|
|||||
403.2 — Read access forbidden. Verify that you have set up IIS to allow Read access to the directory. Also, if you are using a default document, verify that the document exists. For additional information about how to resolve this problem, click the article number below to view the article in the Microsoft Knowledge Base:
247677 (http://support.microsoft.com/kb/247677/EN-US/) Error Message: 403.2 Forbidden: Read Access Forbidden |
|||||
403.3 — Write access forbidden. Verify that the IIS permissions and the NTFS permissions are set up to grant Write access to the directory.For additional information about how to resolve this problem, click the article number below to view the article in the Microsoft Knowledge Base:
248072 (http://support.microsoft.com/kb/248072/EN-US/) Error Message: 403.3 Forbidden: Write Access Forbidden |
|||||
403.4 — SSL required. Disable the Require secure channel option, or use HTTPS instead of HTTP to access the page. If you receive this error for a Web site that does not have a certificate installed, click the article number below to view the article in the Microsoft Knowledge Base:
224389 (http://support.microsoft.com/kb/224389/EN-US/) Err Msg: HTTP Error 403, 403.4, 403.5 Forbidden: SSL Required |
|||||
403.5 — SSL 128 required. Disable the Require 128-bit encryption option, or use a browser that supports 128-bit encryption to view the page. If you receive this error for a Web site that does not have a certificate installed, click the article number below to view the article in the Microsoft Knowledge Base:
224389 (http://support.microsoft.com/kb/224389/EN-US/) Err Msg: HTTP Error 403, 403.4, 403.5 Forbidden: SSL Required |
|||||
403.6 — IP address rejected. You have configured your server to deny access to your current IP address. For additional information about how to resolve this problem, click the article number below to view the article in the Microsoft Knowledge Base:
248043 (http://support.microsoft.com/kb/248043/EN-US/) Error Message: 403.6 — Forbidden: IP Address Rejected |
|||||
403.7 — Client certificate required. You have configured your server to require a certificate for client authentication, but you do not have a valid client certificate installed. For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:
190004 (http://support.microsoft.com/kb/190004/EN-US/) Error 403.7 or ‘Connection to Server Could Not Be Established’ 186812 (http://support.microsoft.com/kb/186812/EN-US/) PRB: Error Message: 403.7 Forbidden: Client Certificate Required |
|||||
403.8 — Site access denied. You have set up a domain name restriction for the domain that you are using to access your server.For additional information about how to resolve this problem, click the article number below to view the article in the Microsoft Knowledge Base:
248032 (http://support.microsoft.com/kb/248032/EN-US/) Error Message: Forbidden: Site Access Denied 403.8 |
|||||
403.9 — Too many users. The number of users who are connected to the server exceeds the connection limit that you have set. For additional information about how to change this limit, click the article number below to view the article in the Microsoft Knowledge Base:
248074 (http://support.microsoft.com/kb/248074/EN-US/) Error Message: Access Forbidden: Too Many Users Are Connected 403.9 NOTE: Microsoft Windows 2000 Professional and Microsoft Windows XP Professional automatically impose a 10-connection limit on IIS. You cannot change this limit. |
|||||
403.12 — Mapper denied access. The page that you want to access requires a client certificate, but the user ID that is mapped to your client certificate has been denied access to the file. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
248075 (http://support.microsoft.com/kb/248075/EN-US/) Error: HTTP 403.12 — Access Forbidden: Mapper Denied Access |
|||||
404 — Not found. This error may occur if the file that you are trying to access has been moved or deleted. It can also occur if you try to access a file that has a restricted file name extension after you install the URLScan tool. In this case, you see «Rejected by URLScan» in the log file entry for that request. | |||||
500 — Internal server error. You see this error message for a wide variety of server-side errors. Your event viewer logs may contain more information about why this error occurs. Additionally, you can disable friendly HTTP error messages to receive a detailed description of the error. For additional information about how to disable friendly HTTP error messages, click the article number below to view the article in the Microsoft Knowledge Base:
294807 (http://support.microsoft.com/kb/294807/EN-US/) HOWTO: Disable Internet Explorer 5 ‘Show Friendly HTTP Error Messages’ Feature on the Server Side |
|||||
500.12 — Application restarting. This indicates that you tried to load an ASP page while IIS was in the process of restarting the application. This message should disappear when you refresh the page. If you refresh the page and the message appears again, it may be caused by antivirus software that is scanning your Global.asa file. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
248013 (http://support.microsoft.com/kb/248013/EN-US/) Err Msg: HTTP Error 500-12 Application Restarting |
|||||
500-100.ASP — ASP error. You receive this error message when you try to load an ASP page that has errors in the code. To obtain more specific information about the error, disable friendly HTTP error messages. By default, this error is only enabled on the default Web site.For additional information about how to see this error on non-default Web sites, click the article number below to view the article in the Microsoft Knowledge Base:
261200 (http://support.microsoft.com/kb/261200/EN-US/) HTTP 500 Error Message Displays Instead of ASP Error Message from 500-100.asp |
|||||
502 — Bad gateway. You receive this error message when you try to run a CGI script that does not return a valid set of HTTP headers. |
From Wikipedia, the free encyclopedia
This is a list of Hypertext Transfer Protocol (HTTP) response status codes. Status codes are issued by a server in response to a client’s request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some additional codes used in some common applications of the HTTP. The first digit of the status code specifies one of five standard classes of responses. The optional message phrases shown are typical, but any human-readable alternative may be provided, or none at all.
Unless otherwise stated, the status code is part of the HTTP standard (RFC 9110).
The Internet Assigned Numbers Authority (IANA) maintains the official registry of HTTP status codes.[1]
All HTTP response status codes are separated into five classes or categories. The first digit of the status code defines the class of response, while the last two digits do not have any classifying or categorization role. There are five classes defined by the standard:
- 1xx informational response – the request was received, continuing process
- 2xx successful – the request was successfully received, understood, and accepted
- 3xx redirection – further action needs to be taken in order to complete the request
- 4xx client error – the request contains bad syntax or cannot be fulfilled
- 5xx server error – the server failed to fulfil an apparently valid request
1xx informational response
An informational response indicates that the request was received and understood. It is issued on a provisional basis while request processing continues. It alerts the client to wait for a final response. The message consists only of the status line and optional header fields, and is terminated by an empty line. As the HTTP/1.0 standard did not define any 1xx status codes, servers must not[note 1] send a 1xx response to an HTTP/1.0 compliant client except under experimental conditions.
- 100 Continue
- The server has received the request headers and the client should proceed to send the request body (in the case of a request for which a body needs to be sent; for example, a POST request). Sending a large request body to a server after a request has been rejected for inappropriate headers would be inefficient. To have a server check the request’s headers, a client must send
Expect: 100-continue
as a header in its initial request and receive a100 Continue
status code in response before sending the body. If the client receives an error code such as 403 (Forbidden) or 405 (Method Not Allowed) then it should not send the request’s body. The response417 Expectation Failed
indicates that the request should be repeated without theExpect
header as it indicates that the server does not support expectations (this is the case, for example, of HTTP/1.0 servers).[2] - 101 Switching Protocols
- The requester has asked the server to switch protocols and the server has agreed to do so.
- 102 Processing (WebDAV; RFC 2518)
- A WebDAV request may contain many sub-requests involving file operations, requiring a long time to complete the request. This code indicates that the server has received and is processing the request, but no response is available yet.[3] This prevents the client from timing out and assuming the request was lost.
- 103 Early Hints (RFC 8297)
- Used to return some response headers before final HTTP message.[4]
2xx success
This class of status codes indicates the action requested by the client was received, understood, and accepted.[1]
- 200 OK
- Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.
- 201 Created
- The request has been fulfilled, resulting in the creation of a new resource.[5]
- 202 Accepted
- The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon, and may be disallowed when processing occurs.
- 203 Non-Authoritative Information (since HTTP/1.1)
- The server is a transforming proxy (e.g. a Web accelerator) that received a 200 OK from its origin, but is returning a modified version of the origin’s response.[6][7]
- 204 No Content
- The server successfully processed the request, and is not returning any content.
- 205 Reset Content
- The server successfully processed the request, asks that the requester reset its document view, and is not returning any content.
- 206 Partial Content
- The server is delivering only part of the resource (byte serving) due to a range header sent by the client. The range header is used by HTTP clients to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams.
- 207 Multi-Status (WebDAV; RFC 4918)
- The message body that follows is by default an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.[8]
- 208 Already Reported (WebDAV; RFC 5842)
- The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response, and are not being included again.
- 226 IM Used (RFC 3229)
- The server has fulfilled a request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.[9]
3xx redirection
This class of status code indicates the client must take additional action to complete the request. Many of these status codes are used in URL redirection.[1]
A user agent may carry out the additional action with no user interaction only if the method used in the second request is GET or HEAD. A user agent may automatically redirect a request. A user agent should detect and intervene to prevent cyclical redirects.[10]
- 300 Multiple Choices
- Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation). For example, this code could be used to present multiple video format options, to list files with different filename extensions, or to suggest word-sense disambiguation.
- 301 Moved Permanently
- This and all future requests should be directed to the given URI.
- 302 Found (Previously «Moved temporarily»)
- Tells the client to look at (browse to) another URL. The HTTP/1.0 specification (RFC 1945) required the client to perform a temporary redirect with the same method (the original describing phrase was «Moved Temporarily»),[11] but popular browsers implemented 302 redirects by changing the method to GET. Therefore, HTTP/1.1 added status codes 303 and 307 to distinguish between the two behaviours.[10]
- 303 See Other (since HTTP/1.1)
- The response to the request can be found under another URI using the GET method. When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI.
- 304 Not Modified
- Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match. In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy.
- 305 Use Proxy (since HTTP/1.1)
- The requested resource is available only through a proxy, the address for which is provided in the response. For security reasons, many HTTP clients (such as Mozilla Firefox and Internet Explorer) do not obey this status code.
- 306 Switch Proxy
- No longer used. Originally meant «Subsequent requests should use the specified proxy.»
- 307 Temporary Redirect (since HTTP/1.1)
- In this case, the request should be repeated with another URI; however, future requests should still use the original URI. In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. For example, a POST request should be repeated using another POST request.
- 308 Permanent Redirect
- This and all future requests should be directed to the given URI. 308 parallel the behaviour of 301, but does not allow the HTTP method to change. So, for example, submitting a form to a permanently redirected resource may continue smoothly.
4xx client errors
This class of status code is intended for situations in which the error seems to have been caused by the client. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user.
- 400 Bad Request
- The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing).
- 401 Unauthorized
- Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. See Basic access authentication and Digest access authentication. 401 semantically means «unauthorised», the user does not have valid authentication credentials for the target resource.
- Some sites incorrectly issue HTTP 401 when an IP address is banned from the website (usually the website domain) and that specific address is refused permission to access a website.[citation needed]
- 402 Payment Required
- Reserved for future use. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, as proposed, for example, by GNU Taler,[13] but that has not yet happened, and this code is not widely used. Google Developers API uses this status if a particular developer has exceeded the daily limit on requests.[14] Sipgate uses this code if an account does not have sufficient funds to start a call.[15] Shopify uses this code when the store has not paid their fees and is temporarily disabled.[16] Stripe uses this code for failed payments where parameters were correct, for example blocked fraudulent payments.[17]
- 403 Forbidden
- The request contained valid data and was understood by the server, but the server is refusing action. This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed). This code is also typically used if the request provided authentication by answering the WWW-Authenticate header field challenge, but the server did not accept that authentication. The request should not be repeated.
- 404 Not Found
- The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible.
- 405 Method Not Allowed
- A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
- 406 Not Acceptable
- The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. See Content negotiation.
- 407 Proxy Authentication Required
- The client must first authenticate itself with the proxy.
- 408 Request Timeout
- The server timed out waiting for the request. According to HTTP specifications: «The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time.»
- 409 Conflict
- Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates.
- 410 Gone
- Indicates that the resource requested was previously in use but is no longer available and will not be available again. This should be used when a resource has been intentionally removed and the resource should be purged. Upon receiving a 410 status code, the client should not request the resource in the future. Clients such as search engines should remove the resource from their indices. Most use cases do not require clients and search engines to purge the resource, and a «404 Not Found» may be used instead.
- 411 Length Required
- The request did not specify the length of its content, which is required by the requested resource.
- 412 Precondition Failed
- The server does not meet one of the preconditions that the requester put on the request header fields.
- 413 Payload Too Large
- The request is larger than the server is willing or able to process. Previously called «Request Entity Too Large» in RFC 2616.[18]
- 414 URI Too Long
- The URI provided was too long for the server to process. Often the result of too much data being encoded as a query-string of a GET request, in which case it should be converted to a POST request. Called «Request-URI Too Long» previously in RFC 2616.[19]
- 415 Unsupported Media Type
- The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.
- 416 Range Not Satisfiable
- The client has asked for a portion of the file (byte serving), but the server cannot supply that portion. For example, if the client asked for a part of the file that lies beyond the end of the file. Called «Requested Range Not Satisfiable» previously RFC 2616.[20]
- 417 Expectation Failed
- The server cannot meet the requirements of the Expect request-header field.[21]
- 418 I’m a teapot (RFC 2324, RFC 7168)
- This code was defined in 1998 as one of the traditional IETF April Fools’ jokes, in RFC 2324, Hyper Text Coffee Pot Control Protocol, and is not expected to be implemented by actual HTTP servers. The RFC specifies this code should be returned by teapots requested to brew coffee.[22] This HTTP status is used as an Easter egg in some websites, such as Google.com’s «I’m a teapot» easter egg.[23][24][25] Sometimes, this status code is also used as a response to a blocked request, instead of the more appropriate 403 Forbidden.[26][27]
- 421 Misdirected Request
- The request was directed at a server that is not able to produce a response (for example because of connection reuse).
- 422 Unprocessable Entity
- The request was well-formed but was unable to be followed due to semantic errors.[8]
- 423 Locked (WebDAV; RFC 4918)
- The resource that is being accessed is locked.[8]
- 424 Failed Dependency (WebDAV; RFC 4918)
- The request failed because it depended on another request and that request failed (e.g., a PROPPATCH).[8]
- 425 Too Early (RFC 8470)
- Indicates that the server is unwilling to risk processing a request that might be replayed.
- 426 Upgrade Required
- The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field.
- 428 Precondition Required (RFC 6585)
- The origin server requires the request to be conditional. Intended to prevent the ‘lost update’ problem, where a client GETs a resource’s state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict.[28]
- 429 Too Many Requests (RFC 6585)
- The user has sent too many requests in a given amount of time. Intended for use with rate-limiting schemes.[28]
- 431 Request Header Fields Too Large (RFC 6585)
- The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.[28]
- 451 Unavailable For Legal Reasons (RFC 7725)
- A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.[29] The code 451 was chosen as a reference to the novel Fahrenheit 451 (see the Acknowledgements in the RFC).
5xx server errors
The server failed to fulfil a request.
Response status codes beginning with the digit «5» indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method.
- 500 Internal Server Error
- A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
- 501 Not Implemented
- The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
- 502 Bad Gateway
- The server was acting as a gateway or proxy and received an invalid response from the upstream server.
- 503 Service Unavailable
- The server cannot handle the request (because it is overloaded or down for maintenance). Generally, this is a temporary state.[30]
- 504 Gateway Timeout
- The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
- 505 HTTP Version Not Supported
- The server does not support the HTTP version used in the request.
- 506 Variant Also Negotiates (RFC 2295)
- Transparent content negotiation for the request results in a circular reference.[31]
- 507 Insufficient Storage (WebDAV; RFC 4918)
- The server is unable to store the representation needed to complete the request.[8]
- 508 Loop Detected (WebDAV; RFC 5842)
- The server detected an infinite loop while processing the request (sent instead of 208 Already Reported).
- 510 Not Extended (RFC 2774)
- Further extensions to the request are required for the server to fulfill it.[32]
- 511 Network Authentication Required (RFC 6585)
- The client needs to authenticate to gain network access. Intended for use by intercepting proxies used to control access to the network (e.g., «captive portals» used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot).[28]
Unofficial codes
The following codes are not specified by any standard.
- 419 Page Expired (Laravel Framework)
- Used by the Laravel Framework when a CSRF Token is missing or expired.
- 420 Method Failure (Spring Framework)
- A deprecated response used by the Spring Framework when a method has failed.[33]
- 420 Enhance Your Calm (Twitter)
- Returned by version 1 of the Twitter Search and Trends API when the client is being rate limited; versions 1.1 and later use the 429 Too Many Requests response code instead.[34] The phrase «Enhance your calm» comes from the 1993 movie Demolition Man, and its association with this number is likely a reference to cannabis.[citation needed]
- 430 Request Header Fields Too Large (Shopify)
- Used by Shopify, instead of the 429 Too Many Requests response code, when too many URLs are requested within a certain time frame.[35]
- 450 Blocked by Windows Parental Controls (Microsoft)
- The Microsoft extension code indicated when Windows Parental Controls are turned on and are blocking access to the requested webpage.[36]
- 498 Invalid Token (Esri)
- Returned by ArcGIS for Server. Code 498 indicates an expired or otherwise invalid token.[37]
- 499 Token Required (Esri)
- Returned by ArcGIS for Server. Code 499 indicates that a token is required but was not submitted.[37]
- 509 Bandwidth Limit Exceeded (Apache Web Server/cPanel)
- The server has exceeded the bandwidth specified by the server administrator; this is often used by shared hosting providers to limit the bandwidth of customers.[38]
- 529 Site is overloaded
- Used by Qualys in the SSLLabs server testing API to signal that the site can’t process the request.[39]
- 530 Site is frozen
- Used by the Pantheon Systems web platform to indicate a site that has been frozen due to inactivity.[40]
- 598 (Informal convention) Network read timeout error
- Used by some HTTP proxies to signal a network read timeout behind the proxy to a client in front of the proxy.[41]
- 599 Network Connect Timeout Error
- An error used by some HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.
Internet Information Services
Microsoft’s Internet Information Services (IIS) web server expands the 4xx error space to signal errors with the client’s request.
- 440 Login Time-out
- The client’s session has expired and must log in again.[42]
- 449 Retry With
- The server cannot honour the request because the user has not provided the required information.[43]
- 451 Redirect
- Used in Exchange ActiveSync when either a more efficient server is available or the server cannot access the users’ mailbox.[44] The client is expected to re-run the HTTP AutoDiscover operation to find a more appropriate server.[45]
IIS sometimes uses additional decimal sub-codes for more specific information,[46] however these sub-codes only appear in the response payload and in documentation, not in the place of an actual HTTP status code.
nginx
The nginx web server software expands the 4xx error space to signal issues with the client’s request.[47][48]
- 444 No Response
- Used internally[49] to instruct the server to return no information to the client and close the connection immediately.
- 494 Request header too large
- Client sent too large request or too long header line.
- 495 SSL Certificate Error
- An expansion of the 400 Bad Request response code, used when the client has provided an invalid client certificate.
- 496 SSL Certificate Required
- An expansion of the 400 Bad Request response code, used when a client certificate is required but not provided.
- 497 HTTP Request Sent to HTTPS Port
- An expansion of the 400 Bad Request response code, used when the client has made a HTTP request to a port listening for HTTPS requests.
- 499 Client Closed Request
- Used when the client has closed the request before the server could send a response.
Cloudflare
Cloudflare’s reverse proxy service expands the 5xx series of errors space to signal issues with the origin server.[50]
- 520 Web Server Returned an Unknown Error
- The origin server returned an empty, unknown, or unexpected response to Cloudflare.[51]
- 521 Web Server Is Down
- The origin server refused connections from Cloudflare. Security solutions at the origin may be blocking legitimate connections from certain Cloudflare IP addresses.
- 522 Connection Timed Out
- Cloudflare timed out contacting the origin server.
- 523 Origin Is Unreachable
- Cloudflare could not reach the origin server; for example, if the DNS records for the origin server are incorrect or missing.
- 524 A Timeout Occurred
- Cloudflare was able to complete a TCP connection to the origin server, but did not receive a timely HTTP response.
- 525 SSL Handshake Failed
- Cloudflare could not negotiate a SSL/TLS handshake with the origin server.
- 526 Invalid SSL Certificate
- Cloudflare could not validate the SSL certificate on the origin web server. Also used by Cloud Foundry’s gorouter.
- 527 Railgun Error
- Error 527 indicates an interrupted connection between Cloudflare and the origin server’s Railgun server.[52]
- 530
- Error 530 is returned along with a 1xxx error.[53]
AWS Elastic Load Balancer
Amazon’s Elastic Load Balancing adds a few custom return codes
- 460
- Client closed the connection with the load balancer before the idle timeout period elapsed. Typically when client timeout is sooner than the Elastic Load Balancer’s timeout.[54]
- 463
- The load balancer received an X-Forwarded-For request header with more than 30 IP addresses.[54]
- 561 Unauthorized
- An error around authentication returned by a server registered with a load balancer. You configured a listener rule to authenticate users, but the identity provider (IdP) returned an error code when authenticating the user.[55]
Caching warning codes (obsoleted)
The following caching related warning codes were specified under RFC 7234. Unlike the other status codes above, these were not sent as the response status in the HTTP protocol, but as part of the «Warning» HTTP header.[56][57]
Since this «Warning» header is often neither sent by servers nor acknowledged by clients, this header and its codes were obsoleted by the HTTP Working Group in 2022 with RFC 9111.[58]
- 110 Response is Stale
- The response provided by a cache is stale (the content’s age exceeds a maximum age set by a Cache-Control header or heuristically chosen lifetime).
- 111 Revalidation Failed
- The cache was unable to validate the response, due to an inability to reach the origin server.
- 112 Disconnected Operation
- The cache is intentionally disconnected from the rest of the network.
- 113 Heuristic Expiration
- The cache heuristically chose a freshness lifetime greater than 24 hours and the response’s age is greater than 24 hours.
- 199 Miscellaneous Warning
- Arbitrary, non-specific warning. The warning text may be logged or presented to the user.
- 214 Transformation Applied
- Added by a proxy if it applies any transformation to the representation, such as changing the content encoding, media type or the like.
- 299 Miscellaneous Persistent Warning
- Same as 199, but indicating a persistent warning.
See also
- Custom error pages
- List of FTP server return codes
- List of HTTP header fields
- List of SMTP server return codes
- Common Log Format
Explanatory notes
- ^ Emphasised words and phrases such as must and should represent interpretation guidelines as given by RFC 2119
References
- ^ a b c «Hypertext Transfer Protocol (HTTP) Status Code Registry». Iana.org. Archived from the original on December 11, 2011. Retrieved January 8, 2015.
- ^ «RFC 9110: HTTP Semantics and Content, Section 10.1.1 «Expect»«.
- ^ Goland, Yaronn; Whitehead, Jim; Faizi, Asad; Carter, Steve R.; Jensen, Del (February 1999). HTTP Extensions for Distributed Authoring – WEBDAV. IETF. doi:10.17487/RFC2518. RFC 2518. Retrieved October 24, 2009.
- ^ Oku, Kazuho (December 2017). An HTTP Status Code for Indicating Hints. IETF. doi:10.17487/RFC8297. RFC 8297. Retrieved December 20, 2017.
- ^ Stewart, Mark; djna. «Create request with POST, which response codes 200 or 201 and content». Stack Overflow. Archived from the original on October 11, 2016. Retrieved October 16, 2015.
- ^ «RFC 9110: HTTP Semantics and Content, Section 15.3.4».
- ^ «RFC 9110: HTTP Semantics and Content, Section 7.7».
- ^ a b c d e Dusseault, Lisa, ed. (June 2007). HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV). IETF. doi:10.17487/RFC4918. RFC 4918. Retrieved October 24, 2009.
- ^ Delta encoding in HTTP. IETF. January 2002. doi:10.17487/RFC3229. RFC 3229. Retrieved February 25, 2011.
- ^ a b «RFC 9110: HTTP Semantics and Content, Section 15.4 «Redirection 3xx»«.
- ^ Berners-Lee, Tim; Fielding, Roy T.; Nielsen, Henrik Frystyk (May 1996). Hypertext Transfer Protocol – HTTP/1.0. IETF. doi:10.17487/RFC1945. RFC 1945. Retrieved October 24, 2009.
- ^ «The GNU Taler tutorial for PHP Web shop developers 0.4.0». docs.taler.net. Archived from the original on November 8, 2017. Retrieved October 29, 2017.
- ^ «Google API Standard Error Responses». 2016. Archived from the original on May 25, 2017. Retrieved June 21, 2017.
- ^ «Sipgate API Documentation». Archived from the original on July 10, 2018. Retrieved July 10, 2018.
- ^ «Shopify Documentation». Archived from the original on July 25, 2018. Retrieved July 25, 2018.
- ^ «Stripe API Reference – Errors». stripe.com. Retrieved October 28, 2019.
- ^ «RFC2616 on status 413». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
- ^ «RFC2616 on status 414». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
- ^ «RFC2616 on status 416». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
- ^ TheDeadLike. «HTTP/1.1 Status Codes 400 and 417, cannot choose which». serverFault. Archived from the original on October 10, 2015. Retrieved October 16, 2015.
- ^ Larry Masinter (April 1, 1998). Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0). doi:10.17487/RFC2324. RFC 2324.
Any attempt to brew coffee with a teapot should result in the error code «418 I’m a teapot». The resulting entity body MAY be short and stout.
- ^ I’m a teapot
- ^ Barry Schwartz (August 26, 2014). «New Google Easter Egg For SEO Geeks: Server Status 418, I’m A Teapot». Search Engine Land. Archived from the original on November 15, 2015. Retrieved November 4, 2015.
- ^ «Google’s Teapot». Retrieved October 23, 2017.[dead link]
- ^ «Enable extra web security on a website». DreamHost. Retrieved December 18, 2022.
- ^ «I Went to a Russian Website and All I Got Was This Lousy Teapot». PCMag. Retrieved December 18, 2022.
- ^ a b c d Nottingham, M.; Fielding, R. (April 2012). «RFC 6585 – Additional HTTP Status Codes». Request for Comments. Internet Engineering Task Force. Archived from the original on May 4, 2012. Retrieved May 1, 2012.
- ^ Bray, T. (February 2016). «An HTTP Status Code to Report Legal Obstacles». ietf.org. Archived from the original on March 4, 2016. Retrieved March 7, 2015.
- ^ alex. «What is the correct HTTP status code to send when a site is down for maintenance?». Stack Overflow. Archived from the original on October 11, 2016. Retrieved October 16, 2015.
- ^ Holtman, Koen; Mutz, Andrew H. (March 1998). Transparent Content Negotiation in HTTP. IETF. doi:10.17487/RFC2295. RFC 2295. Retrieved October 24, 2009.
- ^ Nielsen, Henrik Frystyk; Leach, Paul; Lawrence, Scott (February 2000). An HTTP Extension Framework. IETF. doi:10.17487/RFC2774. RFC 2774. Retrieved October 24, 2009.
- ^ «Enum HttpStatus». Spring Framework. org.springframework.http. Archived from the original on October 25, 2015. Retrieved October 16, 2015.
- ^ «Twitter Error Codes & Responses». Twitter. 2014. Archived from the original on September 27, 2017. Retrieved January 20, 2014.
- ^ «HTTP Status Codes and SEO: what you need to know». ContentKing. Retrieved August 9, 2019.
- ^ «Screenshot of error page». Archived from the original (bmp) on May 11, 2013. Retrieved October 11, 2009.
- ^ a b «Using token-based authentication». ArcGIS Server SOAP SDK. Archived from the original on September 26, 2014. Retrieved September 8, 2014.
- ^ «HTTP Error Codes and Quick Fixes». Docs.cpanel.net. Archived from the original on November 23, 2015. Retrieved October 15, 2015.
- ^ «SSL Labs API v3 Documentation». github.com.
- ^ «Platform Considerations | Pantheon Docs». pantheon.io. Archived from the original on January 6, 2017. Retrieved January 5, 2017.
- ^ «HTTP status codes — ascii-code.com». www.ascii-code.com. Archived from the original on January 7, 2017. Retrieved December 23, 2016.
- ^
«Error message when you try to log on to Exchange 2007 by using Outlook Web Access: «440 Login Time-out»«. Microsoft. 2010. Retrieved November 13, 2013. - ^ «2.2.6 449 Retry With Status Code». Microsoft. 2009. Archived from the original on October 5, 2009. Retrieved October 26, 2009.
- ^ «MS-ASCMD, Section 3.1.5.2.2». Msdn.microsoft.com. Archived from the original on March 26, 2015. Retrieved January 8, 2015.
- ^ «Ms-oxdisco». Msdn.microsoft.com. Archived from the original on July 31, 2014. Retrieved January 8, 2015.
- ^ «The HTTP status codes in IIS 7.0». Microsoft. July 14, 2009. Archived from the original on April 9, 2009. Retrieved April 1, 2009.
- ^ «ngx_http_request.h». nginx 1.9.5 source code. nginx inc. Archived from the original on September 19, 2017. Retrieved January 9, 2016.
- ^ «ngx_http_special_response.c». nginx 1.9.5 source code. nginx inc. Archived from the original on May 8, 2018. Retrieved January 9, 2016.
- ^ «return» directive Archived March 1, 2018, at the Wayback Machine (http_rewrite module) documentation.
- ^ «Troubleshooting: Error Pages». Cloudflare. Archived from the original on March 4, 2016. Retrieved January 9, 2016.
- ^ «Error 520: web server returns an unknown error». Cloudflare. Retrieved November 1, 2019.
- ^ «527 Error: Railgun Listener to origin error». Cloudflare. Archived from the original on October 13, 2016. Retrieved October 12, 2016.
- ^ «Error 530». Cloudflare. Retrieved November 1, 2019.
- ^ a b «Troubleshoot Your Application Load Balancers – Elastic Load Balancing». docs.aws.amazon.com. Retrieved August 27, 2019.
- ^ «Troubleshoot your Application Load Balancers — Elastic Load Balancing». docs.aws.amazon.com. Retrieved January 24, 2021.
- ^ «Hypertext Transfer Protocol (HTTP/1.1): Caching». datatracker.ietf.org. Retrieved September 25, 2021.
- ^ «Warning — HTTP | MDN». developer.mozilla.org. Retrieved August 15, 2021. Some text was copied from this source, which is available under a Creative Commons Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5) license.
- ^ «RFC 9111: HTTP Caching, Section 5.5 «Warning»«. June 2022.
External links
- «RFC 9110: HTTP Semantics and Content, Section 15 «Status Codes»«.
- Hypertext Transfer Protocol (HTTP) Status Code Registry
There are a lot of IIS errors out there.
Way too many, right?
You as a sysadmin know that for sure – internal server errors, access denied errors,
bad request errors, and application host errors. All these IIS errors sometimes drive you crazy.
Here’s a list of the most common errors around IIS errors and the proven solution to them:
- “500 Internal Server Error” or “HTTP Error 500”
- “Error 500.19” or “500.19 Internal Server Error”
- “HTTP Error 503. The Service is unavailable.”
- “Error 403” or “403 Forbidden”
- “HTTP 404 – File not found”
- “Error 401: Access Denied” or “Error 401: Unauthorized”
- “400: Bad Request” or “Bad Request: Error 400”
- “APPHOSTSVC Error 9009” or “Warning 9009 – IIS-APPHOSTSVC”
- “HTTP Error 301 – Moved Permanently”
And you’ll find the solution to get rid of ALL IIS errors – forever: Test PRTG and get started within minutes!
1. IIS error:
«500 Internal Server Error» or «HTTP Error 500»
Quick fix
The 500 Internal Server Error is a common HTTP error code indicating that something has gone wrong on the web server. As each website can use an individual error code, the error message may also look similar to one the following messages:
- “500 Internal Server Error”
- “HTTP 500 Internal Server Error” or “HTTP 500 Internal Error” or “HTTP Error 500”
- “Temporary Error (500)” or “500 Error”
These error messages usually occur when the server is unable to specify the problem. The most common causes are incorrect permissions on your files or folders, a PHP timeout, or coding errors in .htaccess. To solve the problem, check the configuration of your site or look for further information in the error log via IIS manager.
Best Solution:
https://www.lifewire.com/500-internal-server-error-explained-2622938
2. IIS error
«Error 500.19» or «500.19 Internal Server Error»
3. IIS error
«HTTP Error 503. The service is unavailable.»
Quick fix
The IIS error 503 is a server error may occur when you try to connect to a web application. “Error 503 — The service is unavailable” usually occurs if the application pool associated with the web application you are trying to connect to fails to start. This may have been caused by an overload or ongoing maintenance.
To solve the problem quickly, follow these steps:
- View the system log in the Event Viewer to find the error. If the application pool fails to start, this error is logged in the system log.
- If you cannot find the relevant event in the system log, continue your search in the HTTPERR log file located in the following system folder: c:windowssystem32logfiles. Search for “503” to find out why the application pool failed to start.
Best Solution:
https://windowsreport.com/http-error-503-service-unavailable/
https://support.microsoft.com/en-us/help/2619402/error-503-service-unavailable-when-you-browse-windows-sbs-websites
4. IIS error:
«Error 403» or «403 Forbidden»
Quick fix
The error 403 Forbidden usually occurs when you are trying to access a directory or page that you do not have permission to access. You IIS web server may provide more specific details on the cause by adding a suffix number after the 403, for example “403.14 Forbidden” (Directory listing denied).
The solution depends on what caused the error to occur. If you cannot find details on the cause, try the most common quick fix solutions.
Best Solution:
https://www.lifewire.com/403-forbidden-error-explained-2617989
5. IIS error:
«HTTP 404 – File not found»
Quick fix
The 404 error message occurs when the web server is unable to retrieve the requested page. The most common causes of this IIS error are that the requested file has been renamed, deleted or moved to another location.
In order to solve the issue, make sure that the file you requested exists on the ISS. Also check if it is in the right location and has the correct name. To find out where the requested file is located, you can use the IIS MMC snap-in.
Best Solution:
https://support.microsoft.com/en-gb/help/248033/how-system-administrators-can-troubleshoot-an-http-404-file-not-found
6. IIS error:
«Error 401: Access Denied» or «Error 401: Unauthorized»
Quick fix
If you receive error 401 by your IIS, you are facing authentication problems. The error occurs when the authentication to the admin or helpdesk portal fails due to a misconfiguration of authentication settings.
To fix the problem, make sure that your account has the required permissions by verifying the authentication settings in IIS Manager.
Best Solution:
https://kb.netwrix.com/1162
7. IIS error:
«400: Bad Request» or «Bad Request: Error 400»
Quick fix
IIS error 400 occurs when the server was unable to process the request sent to the website server. The most common cause of the Bad Request error 400 is an invalid URL, but it may occur due to a different cause as well.
To solve IIS error 400, make sure that the URL you have entered is correct. Typing errors or non-allowed characters in the URL are the most common cause of the Bad Request error. If the error still occurs after verifying the URL, clear your browser’s cache, DNS cache and cookies and try again.
Best Solution:
https://www.lifewire.com/how-to-fix-a-400-bad-request-error-2617988
8. IIS error:
«APPHOSTSVC Error 9009″or «Warning 9009 – IIS-APPHOSTSVC»
Quick fix
Warning 9009 is an IIS error of the Application Host. It occurs when the Application Host failed to delete the history directory. The Application Host Helper Service detects any changes in the ApplicationHost.config file and creates a backup in a subdirectory. However, the maximum number of subdirectories is 10. If this number is exceeded, the oldest one is usually deleted. If this process fails, error 9009 occurs.
To solve this problem, stop and restart the Application Host Helper Service (AppHostSyc). The AppHostSyc will then start the service and delete the subdirectory automatically. If it still fails to delete the history directory, try restarting the service manually.
Best Solution:
9. IIS error:
«HTTP Error 301 – Moved Permanently»
Quick fix
ISS error 301 is a status code that informs the client that the location of a requested resource has permanently changed. If this server-side status comes up unexpectedly, you may want to diagnose the problem.
The first step to solve the problem is to check if there are any incorrect redirect instructions on the server configuration files or your web server software. You can also check the application logs to look for further information of the possible cause.
Best Solution:
https://airbrake.io/blog/http-errors/301-moved-permanently
Choose your solution: Bugfix or replacement
With PRTG you’ll never have to deal with
IIS errors again. Ever.
Trusted by 500,000 users and recognized
by industry analysts as a leader
“Fantastic network and infrastructure monitoring solution that is easy to deploy and easier still to use. Simply the best available.”
Read more reviews
“Software is absolutely perfect, Support is superior. Meets all needs and requirements, this is a must have solution if you are needing any form of monitoring.”
Read more reviews
“The tool excels at its primary focus of being a unified infrastructure management and network monitoring service.”
Read more reviews
You can configure Internet Information Services (IIS) to send
custom error messages instead of the default HTTP 1.1 error
messages. These custom error messages can be mapped to a file
name or to a URL.
HTTP 1.1 Error Messages
HTTP 1.1 error messages are returned to the client browser in the
form of an HTML page that contains a generic message. When a user attempts
to connect to a Web site and an HTTP error occurs, an error message is
sent back to the client browser with a brief description of what happened
during the attempt to establish a connection. For example, if a user
attempts to connect to a Web site that has reached its maximum connection
capacity, an HTTP error is returned to the client that contains the
statement «Too many users.»
Custom Error Messages
All IIS custom error messages display industry-standard HTTP
codes, which ensure consistency with HTTP 1.1 error messages. However, you
can use the Custom IIS Errors
Pages functionality to customize generic HTTP error
messages.
You can choose to provide a more informative or «friendly,»
feedback than default HTTP 1.1 error messages. For example, the default
HTTP 1.1 404 error message that contains the statement
«Object Not Found.» can be expanded to: «The
Web server cannot find the file/script you asked for. Please check the
URL to ensure that the path is correct. Please contact the server’s
administrator if this problem persists.»
When a set of custom error messages is configured at the Web Site
level, all directories under that server inherit the
entire list of custom error messages. The two custom error message lists
(for the server and the directory) are not merged.
Error Codes
The following HTTP error messages can be customized with
IIS:
Error Code | Error Definition |
---|---|
400 | Cannot resolve the request. |
401.1 | Unauthorized: Access is denied due to invalid credentials. |
401.2 | Unauthorized: Access is denied due to server configuration favoring an alternate authentication method. |
401.3 | Unauthorized: Access is denied due to an ACL set on the requested resource. |
401.4 | Unauthorized: Authorization failed by a filter installed on the Web server. |
401.5 | Unauthorized: Authorization failed by an ISAPI/CGI application. |
401.7 | Unauthorized: Access denied by URL authorization policy on the Web server. |
403 | Forbidden: Access is denied. |
403.1 | Forbidden: Execute access is denied. |
403.2 | Forbidden: Read access is denied. |
403.3 | Forbidden: Write access is denied. |
403.4 | Forbidden: SSL is required to view this resource. |
403.5 | Forbidden: SSL 128 is required to view this resource. |
403.6 | Forbidden: IP address of the client has been rejected. |
403.7 | Forbidden: SSL client certificate is required. |
403.8 | Forbidden: DNS name of the client is rejected. |
403.9 | Forbidden: Too many clients are trying to connect to the Web server. |
403.10 | Forbidden: Web server is configured to deny Execute access. |
403.11 | Forbidden: Password has been changed. |
403.12 | Forbidden: Client certificate is denied access by the server certificate mapper. |
403.13 | Forbidden: Client certificate has been revoked on the Web server. |
403.14 | Forbidden: Directory listing is denied on the Web server. |
403.15 | Forbidden: Client access licenses have exceeded limits on the Web server. |
403.16 | Forbidden: Client certificate is ill-formed or is not trusted by the Web server. |
403.17 | Forbidden: Client certificate has expired or is not yet valid. |
403.18 | Forbidden: Cannot execute requested URL in the current application pool. |
403.19 | Forbidden: Cannot execute CGIs for the client in this application pool. |
403.20 | Forbidden: Passport logon failed. |
404 | File or directory not found. |
404.1 | File or directory not found: Web site not accessible on the requested port. |
404.2 | File or directory not found: Lockdown policy prevents this request. |
404.3 | File or directory not found: MIME map policy prevents this request. |
405 | HTTP verb used to access this page is not allowed. |
406 | Client browser does not accept the MIME type of the requested page. |
407 | Initial proxy authentication required by the Web server. |
410 | File has been removed. |
412 | Precondition set by the client failed when evaluated on the Web server. |
414 | Request URL is too large and therefore unacceptable on the Web server. |
415 | Unsupported Media Type. |
500 | Internal server error. |
500.11 | Server error: Application is shutting down on the Web server. |
500.12 | Server error: Application is busy restarting on the Web server. |
500.13 | Server error: Web server is too busy. |
500.14 | Server error: Invalid application configuration on the server. |
500.15 | Server error: Direct requests for GLOBAL.ASA are not allowed. |
500.16 | Server error: UNC authorization credentials incorrect. |
500.17 | Server error: URL authorization store cannot be found. |
500.18 | Server error: URL authorization store cannot be opened. |
500.19 | Server error: Data for this file is configured improperly in the metabase. |
500.20 | Server error: URL authorization scope cannot be found. |
500.100 | Internal server error: ASP error. |
501 | Header values specify a configuration that is not implemented. |
502 | Web server received an invalid response while acting as a gateway or proxy server. |
The 404.1 error can occur only on computers with
multiple IP addresses. If a specific IP address/port
combination receives a client request, and the IP address is not
configured to listen on that particular port, IIS returns a 404.1 HTTP
error. For example, if a computer has two IP addresses and only one of
those IP addresses is configured to listen on port 80, any requests
received on the other IP address with port 80 result in IIS returning a
404.1 error. This error should be set only at the service level because it
is returned to clients only when multiple IP addresses are used on the
server.
Enabling ASP Error Processing by mapping to a URL
By default, the Default Web Site and all of its
applications transfer the processing of Active Server
Pages (ASP) errors to the 500-100.asp file.
However, any new Web Site that you create or its
applications, transfers the processing of 500-100 errors to
the default, and not to a custom error file. If you want
to develop additional error processing for .asp files, you
can do so by either mapping the 500-100 error to the 500-100.asp file or
by creating an error-processing .asp file of your own.
The 500-100.asp file processes any errors that occur
during compilation or running of .asp files. When an ASP error occurs, IIS
returns the 500-100.asp file with detailed information about the error,
such as the line number in which the error occurred and a description of
the error.
If the 500-100.asp file itself contains ASP errors, ASP does not
return another 500-100.asp file. Instead, the error will be reported as if
no custom error file exists for 500-100 errors. If the error-processing
file (by default, 500-100.asp) contains run-time errors, only this error
is displayed, regardless of the type of error in the requested .asp file.
Finally, if the error-handling file has preprocessor or compilation
errors, both errors are displayed in the browser (the error from the
500-100.asp file and the error in the requested .asp file).
If you have an ASP page defined to handle a custom error, the
script is invoked as a URL that passes the context. For example, if you
have a file called handle405.asp that is defined to
handle HTTP 405 errors, and a 405 error occurs when a user
tries to access example.html, the
handle405.asp file is invoked as if the user had typed
the following:
http://example.com/handle405.asp?405;http://example.com/example.html
If you develop an application using Internet Server API
(ISAPI) or Active Server Pages (ASP) to handle
errors, you should customize an error message by mapping to a
URL. Note that the error status is handed to the application in
the URL parameters, and the application must set the HTTP header status.
Otherwise, the HTTP response status is «HTTP 1.1 200
OK.«
Свой сайт /
Веб-справка
Аннотация
При обращении пользователей к серверу, на котором запущены информационные службы интернета (Internet Information Services, IIS), по протоколу HTTP или FTP (File Transfer Protocol), сервер возвращает число, показывающее состояние выполнения запроса. Данное число называется кодом состояния и сохраняется в журнале служб IIS, а также может отображаться веб-обозревателем или клиентом FTP. Код состояния показывает, выполнен ли запрос, а также может сообщать о причинах сбоя при выполнении запроса.
Дополнительная информация
Местонахождение файла журнала
По умолчанию файлы журналов служб IIS находятся в папке %WIN DIRSystem32 Logfiles. Данная папка содержит отдельные подкаталоги для каждого узла WWW (World Wide Web) и FTP. По умолчанию новый файл журнала создается ежедневно. Имя данного файла формируется, исходя из текущей даты (например exГГММДД.log).
HTTP
1xx — Информационные коды
Перечисленные ниже коды состояния представляют собой предварительные ответы. Перед получением окончательного ответа клиент может получить один или несколько ответов с кодами состояния 1xx.
- 100 — Следует продолжать работу.
- 101 — Смена протоколов.
2xx — Запрос принят
Нижеперечисленные коды показывают, что сервер успешно принял запрос клиента.
- 200 — ОК. Запрос выполнен успешно.
- 201 — Создан ресурс.
- 202 — Запрос принят.
- 203 — Неавторизованные сведения.
- 204 — Содержимое отсутствует.
- 205 — Сброс содержимого.
- 206 — Частичный ответ.
3xx — Перенаправление
Данные коды показывают, что для выполнения запроса необходимо, чтобы в еб-обозреватель клиента выполнил дополнительные действия. Например, может потребоваться, чтобы веб-обозреватель запросил с сервера другую страницу или повторил запрос, используя прокси-сервер.
- 302 — Объект перемещен.
- 304 — Объект не изменялся.
- 307 — Временное перенаправление.
4xx — Ошибка на стороне клиента
Данные коды показывают, что по вине клиента возникла ошибка. Например, клиент мог запросить отсутствующую страницу или не предоставить сведения для проверки подлинности.
- 400 — Неверный запрос.
- 401 — Отсутствуют необходимые права доступа. Если возникает ошибка с кодом 401, то службы IIS возвращают расширенный код, указывающий причину ошибки. Это коды отображаются на экране веб-обозревателя, но не регистрируются в журнале служб IIS.
- 401.1 — Вход в систему не выполнен.
- 401.2 — Вход не выполнен из-за настройки сервера.
- 401.3 — Доступ запрещен таблицей управления доступом (ТУД) к ресурсу.
- 401.4 — Доступ запрещен фильтром.
- 401.5 — Доступ запрещен приложением ISAPI/CGI.
- 401.7 – Доступ запрещен политикой авторизации URL веб-сервера. Данный код поддерживается только службами IIS 6.0.
- 403 — Запрет доступа. Если возникает ошибка с кодом 403, то службы IIS возвращают расширенный код, указывающий причину ошибки.
- 403.1 — Нет доступа на выполнение.
- 403.2 — Нет доступа на чтение.
- 403.3 — Нет доступа на запись.
- 403.4 — Требуется протокол SSL.
- 403.5 — Требуется протокол SSL 128.
- 403.6 — IP-адрес отклонен.
- 403.7 — Требуется сертификат для клиента.
- 403.8 — Отказ в доступе к узлу.
- 403.9 — Подключено слишком много пользователей.
- 403.10 — Недопусти мая конфигурация.
- 403.11 — Необходим другой пароль.
- 403.12 — Отказ доступа от программы сопоставления.
- 403.13 — Клиентский сертификат отозван.
- 403.14 — Просмотр каталога запрещен.
- 403.15 — Достигнуто максимальное число разрешенных одновременных подключений.
- 403.16 — Клиентский сертификат недействителен или не вызывает доверия.
- 403.17 — Срок действия клиентского сертификата уже истек или еще не начался.
- 403.18 — Не удается выполнить запрошенный адрес URL в текущем пуле приложения. Данный код поддерживается только с лужбами IIS 6.0.
- 403.19 — Не возможно выполнять прило жения CGI для этого клиента в данном пуле приложений. Данный код поддерживается только службами IIS 6.0.
- 403,20 — Вход систему с помощью служб Passport не выполнен. Данный код поддерживается только службами IIS 6.0.
- 404 — Объект не найден.
- 404.0 — (отсутствует) – Файл или каталог не найден.
- 404.1 — Веб-узел не доступен по запрошенному порту.
- 404.2 — Запрос отклонен политикой закрытия расширений веб-служб.
- 404.3 — Запрос отклонен политикой сопоставления MIME.
- 405 — Для доступа к странице используется недопустимый метод HTTP (недопустимый метод).
- 406 — Веб-обозреватель клиента на поддерживает тип MIME запрошенной страницы.
- 407 — Требуется проверка подлинности через прокси-сервер.
- 412 — Отказ после проверки предварительного условия.
- 413 – Размер запроса слишком велик.
- 414 — Слишком длинный запрос URI.
- 415 – Неподдерживаемый тип носителя.
- 416 – Значение за пределами диапазона.
- 417 — Ошибка при выполнении.
- 423 – Ошибка блокировки.
5xx — Ошибки сервера
Данные к оды показывают, что сервер не может выполнить запрос, поскольку при выполнении возникла ошибка.
- 500 — Внутренняя ошибка сервера.
- 500.12 — Приложение в процессе перезапуска.
- 500.13 — Сервер перегружен.
- 500.15 — Запросы на файл Global.asa недопустимы.
- 500.16 – Учетные данные не позволяют выполнить проверку подлинности при подключении к адресу UNC. Данный код поддерживается только службами IIS 6.0.
- 500.18 – Не удается открыть хранилище данных авторизации URL. Данный код поддерживается только службами IIS 6.0.
- 500.100 — Внутренняя ошибка ASP.
- 501 — Значения, указанные в заголовке, требуют нереализованную возможность.
- 502 — Выполняя роль шлюза или прокси, веб-сервер получил ошибочный ответ.
- 502.1 — Превышен интервал ожидания ответа от приложения CGI.
- 502.2 — Ошибка в приложении CGI.
- 503 — Служба недоступна. Данный код поддерживается только службами IIS 6.0.
- 504 — Превышен интервал ожидания ответа от шлюза.
- 505 — Неподдерживаемая версия HTTP.
Основные коды состояния HTTP и их описание
- 200 — Запрос выполнен успешно. Данный код показывает, что сервер IIS успешно обработал запрос.
- 304 — Объект не изменялся. Клиент запросил документ, который имеется в кэше клиента и не изменялся после кэширования. Вместо загрузки документа с сервера клиент использует кэшированную копию данного документа.
- 401.1 — Вход в систему не выполнен. При входе в системе произошел сбой (как правило, вследствие указания ошибочного имени пользователя или пароля).
- 401.3 — Доступ запрещен списком управления доступом (ACL) к ресурсу. Появление данного кода свидетельствует о проблеме с разрешениями NTFS. Эта ошибка может возникать, даже если для запрашиваемого файла разрешения установлены правильно. Например, данная ошибка появляется, если для учетной записи IUSR отсутствуют права доступа к папке C:WinntSystem32Inetsrv. Дополнительные сведения об устранении данной ошибки см. в следующей статье базы знаний Microsoft:
187506 Разрешения NTFS и права пользователей, необходимые для работы сервера IIS 4.0 - 403.1 — Нет доступа на выполнение. Как правило, данная ошибка возникает по следующим причинам.
- Отсутствует право на выполнение. Например, данная ошибка может возникать при обращении к странице ASP, находящейся в папке, для которой отсутствуют разрешения на выполнение, или при запуске сценария CGI из папки, для которой установлены разрешения «Только сценарии». Чтобы добавить право выполнения, в соответствующей консоли MMC щелкните нужную папку правой кнопкой мыши, выберите пункт Свойства, перейдите на вкладку Каталог и убедитесь, что для требуемых объектов разрешения Разрешен запуск установлены должным образом.
Используемый метод (например GET или POST) отсутствует в сопоставлении сценариев для требуемого типа файлов. Чтобы проверить, присутствует ли требуемый метод, в соответствующей консоли MMC щелкните нужную папку правой кнопкой мыши, выберите пункт Свойства, перейдите на вкладку Каталог, щелкните команду Конфигурация и убедитесь, ч то в сопоставлении сценариев для требуемого типа файлов разрешено использование соответствующего метода. - 403.2 — Нет доступа на чтение. Убедитесь, что в конфигурации служб IIS разрешено чтение из данной папки. Кроме того, если используется документ по умолчанию, убедитесь, что данный документ существует. Дополнительные сведения об устранении данной проблемы см. в следующей статье базы знаний Microsoft:
247677 Появление сообщения об ошибке «403.2 Запрет доступа. Нет доступа на чтение.» - 403.3 — Нет доступа на запись. Убедитесь, что существующие разрешения IIS и разрешения NTFS позволяют выполнять запись в нужную папку. Дополнительные сведения об устранении данной проблемы см. в следующей статье базы знаний Ма й крософт:
248072 Появление сообщения об ошибке «403.3 Запрет доступа. Нет доступа на запись.» - 403.4 — Требуется протокол SSL. Отключите параметр Требует ся безопасный канал или используйте для доступа к данной странице протокол HTTPS, а не HTTP. Если эта ошибка появляется при обращении к веб-узлу, для которого не установлен сертификат, обратитесь к следующей статье базы знаний Microsoft:
224389 Появление сообщений об ошибках 403, 403.4, 403.5 «Запрет доступа. Требуется протокол SSL.» - 403.5 — Требуется протокол SSL 128. Отключите параметр Требуется 12 8 -и разрядное шифрование или используйте для просмотра данной страницы веб-обозреватель, поддерживающий 128-разрядное шифрование. Если эта ошибка появляется при обращении к веб-узлу, для которого не установлен сертификат, обратитесь к следующей статье базы знаний Microsoft: 224389 Появление сообщений об ошибках 403, 403.4, 403.5 «Запрет доступа. Требуется протокол SSL.»
- 403.6 — IP-адрес отклонен. Конфигурация веб-сервера запрещает доступ с данного IP-адреса. Дополнительные сведения об устранении данной проблемы см. в следующей статье базы знаний Microsoft:
248043 При подключении к веб-серверу появляется сообщение об ошибке: «Ошибка HTTP 403.6 — Запрет доступа: IP-адрес отклонен» - 403.7 — Требуется сертификат для клиента. Конфигурация веб-сервера требует наличие сертификата для выполнения проверки подлинности клиента, однако сертификат для клиента не установлен. Дополнительные сведения см. в следующих статьях базы знаний Майкрософт.
190004 Появление сообщения об ошибках 403.7 или «Не удается установить соединение с сервером»
186812 PRB: Появление сообщения об ошибке «403.7 Запрет доступа. Требуется сертификат для клиента.» - 403.8 — Отказ в доступе к узлу. Существующие ограничения на доменное имя запрещают доступ к веб-узлу из текущего домена. Дополнительные сведения об устранении данной проблемы см. в следующей статье базы знаний Microsoft:
248032 Появление сообщения об ошибке «403.8 Запрет доступа. Отказ в доступе к узлу.» - 403.9 — Подключено слишком много пользователей. Число пользователей, подключенных к веб-узлу, превысило максимально допустимое число подключений, указанное в конфигурации. Дополнительные сведения об изменении данного значения см. в следующей с тать е базы знаний Майк ро софт:
248074 Ошибка HTTP 403.9 — Запрет доступа: подключено слишком много пользователей
Примечание. Microsoft Windows 2000 Professional и Microsoft Windows XP Professional допускают одновременное подключение к службам IIS десяти пользователей. Это значение изменить нельзя. - 403.12 — Отказ доступа от программы сопоставления. Для доступа к запрошенной странице необходим сертификат клиента, однако пользователь, сопоставленный используемому клиентскому сертификату, не имеет прав доступа к данному файлу. Дополнительные сведения см. в следующей статье базы знаний Microsoft:
248075 Появление сообщения об ошибке «403.12 Запрет доступа. Отказ до с тупа от программы сопоставления.» - 404 — Объект не найден. Данная ошибка может возникать, если запрошенный файл был удален или перемещен. Кроме того, указанное сообщение об ошибке появляется, если после установки средства URLScan был ограничен доступ к файлам с запрошенным расширением. В этом случае в файле журнала для данного запроса будет добавлена строка «Rejected by URLScan».
- 500 — Внутренняя ошибка сервера. Данное сообщение об ошибке может появляться вследствие различных причин. Дополнительные сведения о причинах подобных ошибок могут помещаться в журнал событий. Кроме того, для получения полного описания ошибки можно отключить вывод подробных сообщений об ошибках HTTP. Дополнительные сведения об отключении вывода подробных сообщений об ошибках HTTP см. в следующей статье базы знаний Microsoft:
294 807 Отключение параметра «Выводить подробные сообщения об ошибках http» в обозревателях Internet Explorer 5.x и 6.x на стороне сервера - 500.12 — Приложение в процессе перезапуска. Данное сообщение появляется при попытке загрузить страницу ASP в то время, когда сервер IIS перезапускает приложение. После обновления страницы данное сообщение должно исчезнуть. Если после обновления страницы указанное сообщение остается, то это может быть вызвано работой антивирусной программы, которая проверяет файл Global.asa. Дополнительные сведения см. в следующей статье базы знаний Microsoft:
248013 Сообщение «Ошибка HTTP 500-12 Перезапуск приложения» при подключении к Microsoft Internet Information Services 5. 0 - 500-100.ASP — Внутренняя ошибка ASP. Данное сообщение об ошибке появляется при загрузке страницы ASP, содержащей ошибки. Чтобы получить более полную информацию о данной ошибке, отключите вывод подробных сообщений об ошибках HTTP. По умолчанию данная ошибка может появляться только на веб-узле по умолчанию. Дополнительные сведения о том, как увидеть данную ошибку на веб-узлах, не являющихся узлами по умолчанию, см. в следующей статье базы знаний Microsoft:
261200 Вместо сообщения об ошибке из файла 500-100.asp отображается сообщение об ошибке HTTP с кодом 500 - 502 — Неправильный шлюз. Данное сообщение об ошибке появляется при запуске сценария CGI, не возвращающего соответствующий набор заголовков HTTP.
FTP
1xx — Положительный предварительный ответ
Данный код состояния говорит о том, что выполнение действия началось успешно, но перед переходом к новой команде клиент должен дождаться следующего ответа.
- 110 Значение маркера повторного запуска.
- 120 Служба будет готова через ххх минут.
- 125 Соединение для передачи данных уже уст ановл ено; передача данных начата.
- 150 Состояние файла проверено. Сервер готов к установке соединения для передачи данных.
2xx — Оповещение о выполнении команды
Действие завершилось успешно. Клиент может выполнять следующую команду.
- 200 Команда выполнена успешно.
- 202 Команда не реализована. На данном узле команда не требуется.
- 211 Состояние системы или справка по системе.
- 212 Состояние каталога.
- 213 Состояние файла.
- 214 Справочное сообщение.
- 215 ИМЯ тип системы, где ИМЯ — официальное имя системы в соответствии с документом о присвоении номеров.
- 220 Система готова обслуживать нового пользователя.
- 221 Служба разрывает управляющее соединение. Если необходимо, будет произведен выход из системы.
- 225 Соединение для передачи данных установлено; передача не выполняется.
- 226 Соединение для передачи данных разрывается. Требуемое действие выполнено (например пере дача или прекращение передачи файла).
- 227 Выполняется вход в пассивный режим (h1,h2,h3,h4,p1,p2).
- 230 Пользователь вошел в систему. Производится обработка.
- 250 Требуемое действие завершено успешно.
- 257 Создана папка «ПУТЬ».
3xx — Положительные промежуточные ответы
Данные коды состояния говорят о том, что команда выполнена успешно, но для завершения выполнения запроса клиент должен передать серверу дополнительные сведения.
- 331 Имя пользователя получено. Необходимо ввести пароль.
- 332 Необходима учетная запись для входа в систему.
- 350 Для выполнения запрашиваемого действия требуются дополнительные данные.
4xx — Промежуточные отрицательные ответы
При выполнении команды возникла временная ошибка. Если клиент повторит команду, она может выполниться успешно.
- 421 Служба недоступна. Управляющее соединение разрывается. Данное сообщение может отправляться в ответ на какую-либо команду, если служба должна завершить работу.
- 425 Не удается установить соединение для передачи данных.
- 426 Соединение разорвано; передача прекращена.
- 450 Требуемое действие не выполнено. Файл недоступен (например, файл может быть занят).
- 451 Выполнение требуемого действия прервано: при выполнении возникла ошибка.
- 452 Требуемое действие не выполнено. Системе не хватает места на диске.
5xx — Окончательные отрицательные ответы
При выполнении команды возникла ошибка. Данная ошибка носит постоянный характер. Если клиент повторит команду, при ее выполнении возникнет такая же ошибка.
- 500 Синтаксическая ошибка. Команда не распознана. Одной из причин возникновения этой ошибки является использование слишком длинных команд.
- 501 Синтаксическая ошибка в аргументах или параметрах.
- 502 Команда не реализована.
- 503 Ошибочная последовательность команд.
- 504 Для данного параметра команда не реализована.
- 530 Не выполнен вход в систему.
- 532 Необходима учетная запись для сохранения файлов.
- 550 Требуемое действие не выполнено. Файл недоступен (например, файл не найден или нет доступа к файлу).
- 551 Выполнение требуемого действия прервано. Неизвестный тип страницы.
- 552 Выполнение требуемого действия прервано. Превышен максимально допустимый объем места на диске (в текущей папке или в наборе данных).
- 553 Требуемое действие не выполнено. Недопустимое имя файла.
Основные коды состояния FTP и их описание
- 150 — Протокол FTP использует два порта: порт 21 для передачи команд и порт 20 для передачи данных. Код состояния 150 показывает, что сервер собирается установить новое соединение на порту 20 для передачи данных.
- 226 — Команда устанавливает подключение к порту 20, чтобы выполнить какие-либо действия (например передать файл). Данное действие было завершено успешно. Соединение разорвано.
- 230 — Сообщение с этим кодом появляется после отправки клиентом правильного пароля. Данный код состояния показывает, что пользователь вошел в систему.
- 331 — Сообщение с этим кодом появляется после отправки клиентом имени пользователя. Это сообщение появляется независимо от того, присутствует ли в системе указанное имя пользователя.
- 426 — Команда устанавливает подключение к порту 20, чтобы выполнить какие-либо действия, однако выполнение действия было отменено и соединение было разорвано.
- 530 — Данный код состояния показывает, что пользователь не может войти в систему, поскольку введена ошибочная комбинация имени пользователя и пароля. Если для входа в систему используется учетная запись пользователя, то данное сообщение может появляться, если имя пользователя или пароль введены неправильно или если в систем у могут входить только анонимные пользователи. Если для входа в систему используется анонимная учетная запись, то данное сообщение может появляться, если сервер IIS не поддерживает вход анонимных пользователей.
- 550 — Команда не выполнена, поскольку требуемый файл недоступен. Данное сообщение может появляться при попытке получить отсутствующий файл с помощью команды GET, при использовании команды PUT для сохранения файла в папке, для которой отсутствует право записи, а также в некоторых других случаях.