• Increase font size
  • Default font size
  • Decrease font size
http status code

 

Client Error 4xx

The 4xx class of status code is intended for cases in which the client seems to have erred. 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.

If the client is sending data, a server implementation using TCP SHOULD be careful to ensure that the client acknowledges receipt of the packet(s) containing the response, before the server closes the input connection. If the client continues sending data to the server after the close, the server's TCP stack will send a reset packet to the client, which may erase the client's unacknowledged input buffers before they can be read and interpreted by the HTTP application.

 


307 Temporary Redirect

The requested resource resides temporarily under a different URI. Since the redirection MAY be altered on occasion, the client SHOULD continue to use the Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field.

The temporary URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s) , since many pre-HTTP/1.1 user agents do not understand the 307 status. Therefore, the note SHOULD contain the information necessary for a user to repeat the original request on the new URI.

If the 307 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.

 

 The client SHOULD continue with its request. This interim response is used to inform the client that the initial part of the request has been received and has not yet been rejected by the server. The client SHOULD continue by sending the remainder of the request or, if the request has already been completed, ignore this response. The server MUST send a final response after the request has been completed. See section 8.2.3 for detailed discussion of the use and handling of this status code.

 

 The requested resource must be accessed through the proxy given by the Location field. The Location field gives the URI of the proxy. The recipient is expected to repeat this single request via the proxy. 305 responses must only be generated by origin servers.

Note: RFC 2068 was not clear that 305 was intended to redirect a single request, and to be generated by origin servers only. Not observing these limitations has significant security consequences.
 

 4xx:


This class of HTTP status message indicates there is a problem or error at the client or user agent end.
400 Bad Request:

The request could not be understood by the server due to malformed syntax.
401 Unauthorized:

The request requires user authorization (such as through htaccess) but the authorization codes sent were invalid or the user was not recognized in the system. This error is sent when the username sent is not recognized and when the username and password combination are incorrect.
402 Payment Required:

This HTTP status code is not used, but is reserved for future use.
403 Forbidden:

The server understood the request, but refuses to fulfill it. Authorization, in this case, doesn't matter.
404 Not Found:

This is the most easily recognized error message. It states that the URI requested does not exist on the server.
405 Method Not Allowed:

The method specified is not allowed for the resource requested.
406 Not Acceptable:

The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.
407 Proxy Authentication Required:

This is similar to 401, but the client must first authenticate with a proxy.
408 Request Timeout:
The client did not produce a request within the time that the server was prepared to wait.
409 Conflict:

The request could not be completed due to a conflict with the current state of the resource.

410 Gone:

The resource requested was once on this server but is no longer here and there is no redirect in place for it.

411 Length Required:

The server requires a content-length sent with the request.

412 Precondition Failed:

The server evaluated a pre-condition in the header fields as false.

413 Request Entity Too Large:

The server has a limit as to the size of a request.

414 Request-URI Too Long:

The server has a limit as to the size of a URI.

415 Unsupported Media Type:

The entity of the request is a format not supported by the requested resource.

416 Requested Range Not Satisfiable:

A server should return a response with this status code if a request included a Range request-header field, and none of the range-specifier values in this field overlap the current extent of the selected resource, and the request did not include an If-Range request-header field.
 

 If the client has performed a conditional GET request and access is allowed, but the document has not been modified, the server SHOULD respond with this status code. The 304 response MUST NOT contain a message-body, and thus is always terminated by the first empty line after the header fields.

The response MUST include the following header fields:

      - Date, unless its omission is required by section 14.18.1

If a clockless origin server obeys these rules, and proxies and clients add their own Date to any response received without one (as already specified by [RFC 2068], section 14.19), caches will operate correctly.

      - ETag and/or Content-Location, if the header would have been sent
        in a 200 response to the same request
      - Expires, Cache-Control, and/or Vary, if the field-value might
        differ from that sent in any previous response for the same
        variant

If the conditional GET used a strong cache validator (see section 13.3.3), the response SHOULD NOT include other entity-headers. Otherwise (i.e., the conditional GET used a weak validator), the response MUST NOT include other entity-headers; this prevents inconsistencies between cached entity-bodies and updated headers.

If a 304 response indicates an entity not currently cached, then the cache MUST disregard the response and repeat the request without the conditional.

If a cache uses a received 304 response to update a cache entry, the cache MUST update the entry to reflect any new field values given in the response.

 

Introduction

This does not really indicate an error, but rather indicates that the resource for the requested URL has not changed since last accessed or cached. The 304 status code should only be returned if allowed by the client (e.g. your Web browser or our CheckUpDown robot). The client specifies this in the HTTP data stream sent to your Web server e.g. via If_Modified_Since headers in the request.

Systems that cache or index Web resources (such as search engines) often use the 304 response to determine if the information they previously gathered for a particular URL is now out-of-date.

304 errors in the HTTP cycle

Any client (e.g. your Web browser or our CheckUpDown robot) goes through the following cycle when it communicates with your Web server:

  • Obtain an IP address from the IP name of your site (your site URL without the leading 'http://'). This lookup (conversion of IP name to IP address) is provided by domain name servers (DNSs).
  • Open an IP socket connection to that IP address.
  • Write an HTTP data stream through that socket.
  • Receive an HTTP data stream back from your Web server in response. This data stream contains status codes whose values are determined by the HTTP protocol. Parse this data stream for status codes and other useful information.

This error occurs in the final step above when the client receives an HTTP status code that it recognises as '304'.

Fixing 304 errors - general

You should never see this error in your Web browser. It should simply present the Web page from its cache - because it believes the page has not changed since it was last cached. If your client is not a Web browser, then it should equally be able to present the page from a cache. If unable to do so, it is not using the If_Modified_Since or related headers correctly.

Fixing 304 errors - CheckUpDown

You should never see this error at all for the CheckUpDown service. It indicates defective programming by us or the developers of your Web server software. Either we or they are not respecting HTTP protocols completely.

The 304 status code should only be returned if we allow it in the HTTP data stream we send to your Web server. Because we keep no records of the actual content of your URL Web page, we specifically disallow the 304 response in the HTTP data stream we send.

So if your Web server implements the HTTP protocol properly, it should never send an 304 status code back to us. This response is not what we expect, so we actively report it as an error even though it does not necessarily mean that your Web site is down.

Please contact us directly (email preferred) whenever you encounter 304 errors. Only we can resolve them for you. Unfortunately this may take some time, because we have to analyse the underlying HTTP data streams and may have to liaise with your ISP and the vendor of your Web server software to agree the exact source of the error.

 

 

 302 Found

The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field.

The temporary URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s).

If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.

      Note: RFC 1945 and RFC 2068 specify that the client is not allowed
      to change the method on the redirected request.  However, most
      existing user agent implementations treat 302 as if it were a 303
      response, performing a GET on the Location field-value regardless
      of the original request method. The status codes 303 and 307 have
      been added for servers that wish to make unambiguously clear which
      kind of reaction is expected of the client.
 

 Forbidden 403

The request is for something forbidden. Authorization will not help.

 

 

 502 - Bad Gateway 
The server received an invalid response from the upstream server while trying to fulfill the request. 

 

Service temporarily overloaded 502 (TO BE DISCUSSED)

The server cannot process the request due to a high load (whether HTTP servicing or other requests). The implication is that this is a temporary condition which maybe alleviated at other times.

 

 

 503 - Service Unavailable 
The request was unsuccessful to the server being down or overloaded

Gateway timeout 503 (TO BE DISCUSSED)

This is equivalent to Internal Error 500, but in the case of a server which is in turn accessing some other service, this indicates that the respose from the other service did not return within a time that the gateway was prepared to wait. As from the point of view of the clientand the HTTP transaction the other service is hidden within the server, this maybe treated identically to Internal error 500, but has more diagnostic value.


 

 
  • «
  •  Start 
  •  Prev 
  •  1 
  •  2 
  •  Next 
  •  End 
  • »

Login Form