4 ms·
Early spec of TCP had a section on the robustness principle that was generally known as Postel's law (https://datatracker.ietf.org/doc/html/rfc761#section-2.10
by BlackFly 2y ago
Early spec of TCP had a section on the robustness principle that was generally known as Postel's law (https://datatracker.ietf.org/doc/html/rfc761#section-2.10 https://datatracker.ietf.org/doc/html/rfc761#section-2.10). At the time and until recently this was considered good design. Nowadays people generally want servers to be stricter in what they accept since decades of experience dealing with diverging interpretations of a specification create problems for interoperability.
- eesmith 2y ago"until recently"? More than 10 years just going by HN. https://news.ycombinator.com/item?id=5161214 https://news.ycombinator.com/item?id=5161214 I think HTML showed the problem with Postel's principle. Quoting "Postel’s Law is not for you" at http://trevorjim.com/postels-law-is-not-for-you/ http://trevorjim.com/postels-law-is-not-for-you/ from 2011 > The next version of HTML, HTML5, should considerably reduce the problem of browser incompatibilities. It does this, in part, by rejecting Postel’s Law for browser implementors. Instead of allowing browsers to be liberal when dealing with “flawed” markup, HTML5 requires them to parse it exactly as in the HTML5 specification, and that specification is given much more precisely than before, in the form of a deterministic state machine, in fact. HTML5 is trying to give implementors no leeway at all in this, in the name of browser compatibility.
- cesarb 2y ago> "until recently"? More than 10 years just going by HN. The TCP protocol is from the 1970s (according to Wikipedia, it's from 1974, which is 50 years ago). Something which only happened 10 years ago is recent.
- eesmith 2y agoThe robustness principle dates to RFC 761 from January 1980, not 1974, making it only 44 years ago. https://www.rfc-editor.org/rfc/rfc761#section-2.10 https://www.rfc-editor.org/rfc/rfc761#section-2.10 The citations I gave you were ones I knew existed. I know there was criticism in the early 2000s because we were debating it back then, but I don't have those citations handy. Checking now, the Wikipedia entries points to criticism in RFC 3117, from 2001, at https://datatracker.ietf.org/doc/html/rfc3117 https://datatracker.ietf.org/doc/html/rfc3117 : > Counter-intuitively, Postel's robustness principle ("be conservative in what you send, liberal in what you accept") often leads to deployment problems. That's why I knew to question was 'until recently' was supposed to me.
- BlackFly 2y agoYour quotes are actually reinforcing and not detracting from the point I was trying to make. Because it is a question of tradeoffs, for some people the robustness principle could be argued against right from the start. Lots of strict protocols existed at the time (CER and DER rules for ASN.1 for example) even if people preferred forgiving protocols (BER seems to have been more popular). Yes, people were explaining the tradeoffs and why it might make sense to prefer strictness, I am sure you can find earlier quotes. The authors might not feel the need to make these arguments if public sentiment was widely aligned. The person I was responding to (who sadly was downvoted), seems to have a sort of nascent appreciation for the robustness principle. They seem to be suggesting that the prevalence of null bytes in scripts is an argument to preserve support. To me this is an illustration of the fact that public opinion is still not universally against the robustness principle (indeed some, possibly that poster who never heard it as Postel's law or it didn't click for, may not be aware of it) even if in general I would argue that the majority of people with an opinion would be against it. But a couple of dates and quotes cannot settle that question, nor can my feelings on the matter. I could be very wrong, the majority of opinion on the matter could still be pro-postel.
- eesmith 2y agoI really just want to know the time frame you where thinking of when you wrote "until recently this was considered good design." I would also like to what you think changed that general consideration.