An HTTP Status Code For Censorship?
New submitter Tryfen writes "UK ISPs are being forced to block The Pirate Bay. One is using 'HTTP 403 Forbidden' to tell users that they cannot access the site. From the article: 'However, chief among my concerns is the technical way this censorship is implemented. At the moment, my ISP serves up an HTTP 403 error.' ... As far as I am concerned, this response is factually incorrect. According to the W3C Specifications: "The 4xx class of status code is intended for cases in which the client seems to have erred."' So, should there be a specific HTTP status code to tell a user they are being censored?"
Just convince the censors to set the Evil bit on all packets returning the HTTP error code for a blocked site.
The proper status code would be "666 - Go To Hell". Served to the court, not the customer.
Proud member of the Ferengi Socialist Party.
Why would you tell people you're censoring them, when you can just as easily NOT tell them and keep them in the dark... you know, to CENSOR them.
I want to delete my account but Slashdot doesn't allow it.
Ovious, I would think.....
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
In a normal person's point of view, the user has not erred. The government has erred, and HTTP has no provision for that.
From the government's point of view, the user has erred because no right-thinking user would want to access a proscribed IP.
So what it comes down to is, should HTTP represent the user's POV or the Government's?
Error 1984 - This site has been blocked due to government censorship
I nominate HTTP 451 - Site is not permitted in your country.
[End Of Line]
Then we could use statuscode 666 Evil Government - so cool :)
But on a slightly more serious note, the following codes would be perhaps slightly better?
303 See Other - with a list of bittorrent sites you might want to check out :) :) :)
305 Use Proxy - with a list of proxy servers in other countries that would enable you to get around the block
or
503 Service Unavailable - if you think the situation is temporary
Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
....would be useful.
"The 4xx class of status code is intended for cases in which the client seems to have erred."
The user has erred by allowing a copyright cartel to takeover their government.
Besides, doesn't IPv4 already have support for a censorship flag?
The 4xx class of status code is intended for cases in which the client seems to have erred.
If 403 - forbidden (you don't have permission to access the resource) is "client error", then so is living in a country where by law you are not allowed to access the site.
None. If a site absolutely must be blocked, then blackhole its IP addresses and fail resolution on the ISP's DNS servers. Middleboxes that inspect layer 4 and above are never OK, and never part of a trustworthy ISP network unless explicitly requested by the end-user.
Yes, there should be a code so that no one reports a problem or winds up doing any troubleshooting of a non-existent technical problem. This would let people aim their frustration at the right source.
450 is "Blocked by Windows Parental Controls (Microsoft)" so the 45x range should server this purposes. 452 could be site not permitted by employer, 453 could be site not permitted by ISP, etc.
"The server ... lacks the ability to fulfill the request."
Thailand used to have a huge graphical image on a special server for censored websites. Any access on a censored URL would be forwarrded to that image. Apparently the load was so high the server would constantly crash, and eventually they deleted the image, so you get a 404 error. Now they got smarter and just display a text message telling you the website is censored by the government.
Many of the services/messages blocked in China come with explicit warnings that they have attempted something illegal. And some don't.
"The ability to delude yourself may be an important survival tool" - Jane Wagner -
http://www.youtube.com/watch?v=RfiQYRn7fBg#t=15s
Do as the Iran government does, when you try to see google reader here they redirect you to the google search when over https and to their own censorship site (http://peyvandha.ir/) when over http.
actually I don't know how they do it, but technically they shouldn't be able to redirect https.
Like my right to sing "Happy Birthday" to my daughter?
http://www.wired.com/wired/archive/13.07/posts.html?pg=7
"The ability to delude yourself may be an important survival tool" - Jane Wagner -
HTTP 451, This site has been burnt.
In honor of Room 101.
They cant avoid the dropouts!
http://www.nigelandthedropout.com/promo-bay-only.html
..that explains the situation and encourages the user to click on a clicky that automatically files a complaint with the approporiate government agency and/or sends an email to the relevant minister. Should be maintained by a third party such as the EFF.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
This reminds me of the common quarrel, "It's not that you cheated on me, it's the way you did it, that you lied about it."
Sorry, but you can't do that. If it was allowed, it would destroy the 'conomy!
Filthy, filthy copyrapists!
if so: 1982.
1984 has 4 characters.
Mod parent up
Democracy Now! - uncensored, anti-establishment news
Get this going.
You simply have the legislature more than the lobbiest are paying to get the content blocked.
I think this is a genuinely good Ida.
what now, someone raise an RFC as an extension to the HTTP codes RFC?
I am trying to understand how you are blocking access to a web site? :-)
Do your users all go thru a http proxy? What if they don't? I have three internet access points, none use a web proxy (That I know of
Do you block DNS? I can point my dns anywhere I want.
Do you block an IP address?
Falling back to the Internet sees censorship as a malfunction and routes around it. How do you stop people from routing around you? (WIthout begin China and having controll of all the network links in and out of the country)
Just trying to understand this. thanks.
seems appropriate, if not in the sense intended by the RFC.
Perhaps 560 as suggested in the article, and 561 for censorship implemented by the final server (e.g. a server in the US forbidden to deliver certain content to Iranian IPs)
560 Censorship
The server, while acting as a gateway or proxy, received a request it is not legally permitted to gateway or proxy.
561 Censorship
The server received a request it is not legally permitted to fulfill.
How about we just dont allow them to censor.
---- Booth was a patriot ----
If we have an easy way of knowing that a site is censored,. very simply ... we can automatically run a proxy request every time you hit a censored site and it can be done transparently such that the user no longer has to worry. I am sure the next version of all the browsers will have that as a feature. They would interprets censorship as damage and route around it .. gee that is a novel idea !!
HTTP 303 - See Other, that's what you really want.
I do agree with the rest of /. , though, I think. This probably warrants it's own code, or range, honestly.
My personal vote - HTTP 666 EVIL
...has my vote.
THERE ARE FIVE CHARACTERS!
"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."
I can almost sympathize! The money spent getting all these treaties and legislation enacted would have bought a Porsche in SF or maybe Riviera house, or maybe even an apartment for when they are next in Paris, France.
Buying all those pollies must be costing them a shitload of money. And I am not sure (on a technical level) whether they are blocking it at dns level or tcp/ip level. And even if they get them both, stopping the Onion (Tor) would be a much harder problem.
I suspect that they will develop such negative Karma that customer preferences will go to "liscence free" product.
+1
I'm all for trying to strike a balance between fostering innovation and protecting intellectual property with copyright but to suggest you have a "right" to sing "Happy Birthday to you" to your daughter is going too far. Such works are protected by copyright for a reason and, while your particular instance of infringement will not break the bank, it starts a descent down a long and steep slippery slope. If enough people take this point of view we'll soon lose our precious media companies and then, of course, there will be no more music.
Can you imagine a world without music? I know I can't and I wouldn't dare risking this scenario supporting such radical change.
Say NO to piracy. It's illegal for a reason.
I got the Picard reference. Clever.
Operation Guillotine is in effect.
It would probably be simpler and more robust to simply not reply anything at all. Just tell the router not to forward any packet to blacklisted IP addresses.
All this is, is paving the way for EUSOPA and criminalising everyone who tries to use the Internet for anything more than clicking on iPlayer and G+. Since there will suddenly be so many crims wandering our libraries and cyber cafés, to try them all by jury would be prohibitively expensive, so what we'll end up with is TV Licensing-type day sessions in courts up and down the country, fifteen minute hearings in front of a single magistrate, and automatic defaults in favour of the copyright cartels followed by fixed penalty judgements.
Most people who end up in front of a magistrate over TV Licensing, even if like me they don't have a TV, don't realise that they CAN and SHOULD DEMAND a trial by Jury. Over the past several years I've been in front of magistrates and walked out after informing them in no uncertain terms that I am not playing their game, that the burden is on TVLA to PROVE their case, even the point of PROVING that they have SEEN TV equipment in my home, working and tuned. What can they do? Jail me for asserting my RIGHTS under the Law of the Land? Bring it.
Operation Guillotine is in effect.
The forbidder can always return a page to explain why the status code has been set. But it's up to the browser whether it displays it, or whether it just display a standard error page. e.g., IIRC IE6 would only display the returned info it if it was over 256(?) bytes in length.
403 is exactly right:
"The request was a legal request, but the server is refusing to respond to it"
Next question please.
I don't have a sig.
The proper one would be in the 5xx range, since the client's request is correct but the server is unable to comply.
503 - Service Unavailable is the obvious choice.
If we want to be cheeky about it, we could respond 305 - Use Proxy to hint that the client making the request can't come through here and must use some other path.
Tool. Idiot.
Sounds like a plan. http://antarctica.coldhorizon.com/451.html
Can you imagine a world without music?
What does that have to do with anything? Are you claiming that music will cease to exist if copyright ends?
Never mind that! What are you not doing using Gamemaker this minuteness!?
I know the parent post is already modded +5 Insightful but can we force the display of the post and display it in neon green too?
That's not only appropriate, the timing is perfect too.
RIP, Ray Bradbury.
284 - Successful - Censorship rules applied
I don't think that a status code is ever going to be allowed to be used. Most repressive governments (like the U.S. and China) do not want their general population finding out exactly what things are being censored.
In ARPA-speak,that would be
4 -- temporary error
9 -- OS problem, not application
9 -- a unique number
followed by a blank and a human-readable message in ascii,
This is from memory, you understand, but it expresses the basic idea: your country doesn't let you connect, so it's a tempoirary failure until such time as you fix the political problem or move.
--dave
davecb@spamcop.net
This should be a success code, 2xx, and it should be 1984 - monitored and censored.
the UK is becoming China, but for different reasons
Yes, self interest is strikingly different than self interest.
(Did you actually think for a second that either government works for anyone but themselves?)
Yeah the client erred in going to a forbidden website. Who cares what the status is???
I disagree with the idea that its wrong. You see, the client did err.... they made their error by trying to load something that they are forbidden from loading. That was their error.
403 is forbidden, you are forbidden. Forbidden by the proxy, rather than the server, but forbidden is forbidden.
Now my ISP doesn't block shit, if they did, I would find another ISP.
"I opened my eyes, and everything went dark again"
Was I the only one to pick this up?
I'm going to nitpick here. Shouldn't an HTTP error be coming from the web server (a la 404, not found)? Therefore if you can't reach the server, because it is blocked, then you can't get an HTTP error, right? Unless they're redirecting to their own web server, it just doesn't make sense (and I suppose it could confuse people into contacting the webmaster, too, but really who does that?).
For the ISP, it's probably more appropriate to redirect the user to a free DNS service page for any DNS errors (even legit typo errors). That's probably the best way to give the powers that be the finger.
I vote 302 redirect to a landing page that describes the reson the page is blocked.
Seems that is the way it is done in many countries that filter porn and politically sensitive material.
Ohhhhhh we weren't looking for serious answers here, I get it.
120 characters ought to be enough for anyone
I worked for a company with a web based solution. Whenever there was an internal error in their code, instead of admitting there was an error they tried to blame it on the network and sent out a generic message: "Communication error". Actually 100% accurate in a self-referential sense.
In keeping with the 3-digit status codes we already have and the use of the 4xx series to indicate that the client has apparently made an error, I think status code 451 might be more appropriate.
RIP, Ray Bradbury.
Whoa. What an exceptional post. It deserves a +6. And as far as I am concerned it is the hands-down best idea for a real censorship code. w00t!
"No fear. No envy. No meanness." Liam Clancy
More specifically, 401: Your leaders believe that you are shit beneath their feet, you should rise up and kill them.
The server denying the request id not th server that should have provided the data
and when you are censoring you do not want people to know that the data is censored.
The most appropriate http response is then "2xx The request has been processed by other server than intended due to illegal content on intended server"
+1
Let's see, I'm taking down my websites because new fascist laws have destroyed my business, and I am concerned about status codes?! Right.
This is what's wrong with /. Next they will be asking mossad to put a status code on the next false flag attack
This is about a blocked domain at the DNS level so a discussion about http status codes is rather pointless. How do you handle other protocols? Just use standard DNS errors like host not found.
Perhaps a better method would be to use ICMP Type=3, code=13: "Communication administratively prohibited (administrative filtering prevents packet from being forwarded)." It is a routing error that is independent of request and server.
you need to bribe your government to get access again.
Was the early USA an improvement on the UK? On the whole I'd say yes. But it is worth remembering that people like Paul Revere were, by the standards of the time, rich and important men.
From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
being 00100; use fingers; do maths.
Privacy is terrorism.
4 does not mean temporary, but client. as 404 will often be permanent, because its you, who mistyped that url.
I just browsed the list of HTTP error codes, and did not expect to have such relevant error codes: (from http://en.wikipedia.org/wiki/List_of_HTTP_status_codes )
or
or
or
or
or
or .. It seems we have choice enough..
But seriously, i would prefer 502 Bad Gateway
And very specifically they exist for middlemen errors, which can contain but are not limited to:
ISPs
caching servers (from edge networks and CDNs and the like)
Backbone operators.
These sorts of things don't really exist in any reasonable state.
It would be a good idea to add these since there is an increasingly larger dependence on middlemen to keep sites up, but which are not just specifically a proxy for your packets. (since technically this would make your ISP a proxy as well)
A few of them could be:
600 - DNS record temporarily removed
601 - DNS record permanently removed
(space for expansion)
610 - IP route temporarily removed
611 - IP route permanently removed
Also come with the typical description of the error messages.
I'd prefer
666 - The Devil/MPAA/RIAA/Government/Censorship is in play.
999 for the Australians..
Insert
Picard reference? I thought this was a 1984 reference (four fingers vs. five fingers).
The Tao of math: The numbers you can count are not the real numbers.
There is actually a set of new HTTP status codes proposed, one of which is 511 "Network Authentication Required". It's designed for captive portals (e.g. at hotel Wi-Fi hotspots), but it seems to me if you wanted to pick one of the existing codes, this is a good candidate, since it is one of the few designed for use by intermediate network devices.
http://tools.ietf.org/html/draft-nottingham-http-new-status-02#page-5
Trolls gonna troll...
The canonical ones (ftp, smtp, etc) are
1yz Positive Preliminary reply
2yz Positive Completion reply
3yz Positive Intermediate reply
4yz Transient Negative Completion reply
5yz Permanent Negative Completion reply
HTTP bent it, but a 400 might still imply one should change countries (;-))
--dave
davecb@spamcop.net
client error: was born in the wrong country.
It has the xx3 from 403, but transforms it into the 5xx range. It fits nicely to to 511 which is to be used with intercepting proxies (http://tools.ietf.org/html/rfc6585).
"The 4xx class of status code is intended for cases in which the client seems to have erred."' might be so, but I think http 457 might be approriate.
that too. Amazing how cliché finds itself repeating through niche culture...
Operation Guillotine is in effect.
The Internet is a platform of openness. Some governments are already censoring parts of the internet, while others (such as India) are toying with the idea. By tweaking the technology to include censorship in the standard, a government's demand for censorship can be better met by the Internet- and that doesn't align with the long term interests of the web. I'd suggest: keep the Internet open and don't include censorship in the standard.
I'm on Plusnet, and (so far) am not blocked from TPB (well, at least, I just tried it via shell terminal, which looks fine). FWIW, the mobile network Three doesn't have the invasive porn blockers that Vodaphone and O2 have either.
Don't fret about a new error code (although it would be nice to have one - although I like the suggestion above to host a page saying to check out the EFF). For now, just vote with your feet and pick a better ISP. When they're all doing it, then let's talk. For now, commercial pressure should be plenty.
That's what happens when you require an ISP (who deals with IP, not TCP and certainly not HTTP)
Then perhaps the majority of home users don't necessarily want an ISP. They want low-latency access to popular web sites, and in some cases, the only affordable way to do this is to implement a transparent caching proxy.