What are the causes of a 416 Error?

That error means that some client sends a request to your server which specifies a range of bytes which is not serveable due to some reason.

This can happen with something like this example:

  • You have an image with physical size 1000 bytes
  • Your Server specifies the wrong content length e.g. 1500
  • The client sends a request to get 0 - 1500 bytes from your server
  • Your server sends a 416 because the image has only 1000bytes

This has been covered on Stack Overflow: 416 Requested Range Not Satisfiable

Check the error log for the 416 error. [I know you said you checked. It should be there unless you are including a resource from another server.] That should tell you what file. Then make sure it is getting cached correctly [or not cached at all].

UPDATE:

What you can do with APC, is disable caching of certain files by using the apc.filters setting in your php.ini [or apc.inc or however you are including the apc config.] If you can figure out which file[s] are throwing the 416 error, you can start by configuring APC to not cache them. Sounds like a reasonable start to me.

Actually, come to think of it, if you can find the file throwing the error, you can use APC to, 1, see if it is cached; and 2, check on the file size that APC thinks it is; then 3, check the actual size on disk. Check out this link: devzone.zend.com/article/12618 [the official APC docs kinda suck]


416 - Requested Range Not Satisfiable
A 416 status code indicates that the server was unable to fulfill the request. This may be, for example, because the client asked for the 800th-900th bytes of a document, but the document was only 200 bytes long.

What causes this error in your case is hard to tell. I would start with the Apache error.log and scan for 416. This way you might be able to narrow it down further to what page was called and go from there.

Tags:

Apache