> You are suggesting that a server which blocks illegal requests is broken.
What? I suggested no such thing. What I am suggesting (if you read up the comments) is that a middleman has made the error and thus it is incumbent on that middleman to return a proper error of "Access denied for legal reasons".
If you use the 451 error to denote censorship, what code do you use when access is denied for a legitimate legal reason?
* broken multitasking - accidentally inserted political for legal in the last sentence.
>What? I suggested no such thing. What I am suggesting (if you read up the comments) is that a middleman has made the error and thus it is incumbent on that middleman to return a proper error of "Access denied for legal reasons".
1) There isn't necessarily a middleman. A server can self-censor in order to obey the law and return a 451.
2) A censoring firewall that blocks content is doing precisely what it's supposed to do, and returning a 4xx code keeps it in line with HTTP. It is not an error.
>If you use the 451 error to denote censorship, what code do you use when access is denied for a legitimate legal reason?
I don't think it's up to HTTP to distinguish between censorship and other kinds of laws (or more broadly, other government directives). Censorship that happens because of non-legal reasons (e.g. the website admin doesn't want to serve a resource due to personal beliefs) should just be a 403.
>At any rate, the client has not made an error. The client is the requesting entity (ie., browser or other program). The client in the error message does not refer to the potential human that may have caused the client to initiate the request.
Typing google.com/asdfhjk in the address bar yields a 404, even though the error is clearly with the human, not the browser.
>Yet, that's what's happening with the 451 error code. This is clearly aimed at government censorship - what the writer considers the wrong kind.
I'm not sure I agree. While the author may have a certain connotation in mind, "not available for legal reasons" is a simple statement of fact that can be useful for the user, regardless of whether it was a "good" or an "evil" law.
>Unless I'm mistaken, "client" means the browser, not the person operating the browser.
So it shouldn't return a 404? Are you proposing the use of 6xx codes for user error, and keep 4xx for purely client errors? How can the server distinguish between a browser and somebody using telnet? What if another program is performing automated clicks in a browser and navigates to google.com/asdfhjk?
I believe the "client" is "everything on the other end of the tcp connection."
What? I suggested no such thing. What I am suggesting (if you read up the comments) is that a middleman has made the error and thus it is incumbent on that middleman to return a proper error of "Access denied for legal reasons".
If you use the 451 error to denote censorship, what code do you use when access is denied for a legitimate legal reason?
* broken multitasking - accidentally inserted political for legal in the last sentence.