8 ms·
Hard to see how it would have been worse if all browsers had implemented stop-on-error, because then the developer/tester's browser would not have rendered the
by sixbrx 13y ago
Hard to see how it would have been worse if all browsers had implemented stop-on-error, because then the developer/tester's browser would not have rendered the erronous page. That would mean that the developer/tester would have had to not try the page even once before shipping, if a bad page were to make it to production.
- haberman 13y agoThe page only became bad when the blog received a trackback from a different blog with a different character set. At that point the blog software erroneously changed the page's content and made it invalid. It was a software bug, plain and simple. The page was fully valid when the blog author published it. For the developer/tester of Typepad (the blog software) to catch the bug, they would have had to trigger this bug in development/testing before it made it into the wild. While we always hope developers will catch as many bugs as possible, some will always slip through. Strict validation on the client means that even the slightest bug can make the website 100% down/unavailable, even though the browser would be perfectly capable of displaying something that 99% works. Modern web sites are huge amalgamations of dynamically-generated content using umpteen templating technologies and aggregations of data that come from sources that the page's authors do not necessarily control. Guaranteeing that their output will always be valid XHTML is not trivial.
- gizmogwai 13y agoI disagree. The issue described is an input sanitisation issue. The same thing would have happen to a SQL query and everyone would have put shame on you. It IS a bug that the blog engine developers should have catch, in the same way they should have protect the trackback from XSS injection. Guaranteeing your output will always be valid might not be trivial, but it is way less harder that some people pretend it to be.
- haberman 13y agoBugs will slip through. They just will, it's a fact of life. The question is, when they do, will you let the browser gracefully recover, or will you demand that the browser show an error page, even though it could do something reasonable? The security analogy would be to let all your code run as root, because the main security mechanisms should prevent users from executing arbitrary code. But this is fragile, because any security bug would compromise the security of the system completely. What we do instead is have defense in depth: even if the first layer of security is compromised, there are other layers of security that can (hopefully) contain the damage. Permissive client rendering likewise limits the damage that one bug can do.
- gizmogwai 13y agoHaving seen so many failure getting worse because people did not paid attention to it in the first place, I would go for the error page. That said, even if we choose a defense in depth, it still is not a valid reason to throw away XHTML as it was done. The same way you will not remove your firewall because it does not block dormant viruses, but add an antivirus, the browsers could have still continue putting effort in rendering the correct, and powerful, XHTML, while setting down some decent fallbacks to recover. Being we a be red warning to raise awareness that something need to be fixed.
- KMag 13y agoBringing attention to errors and attempting to recover from errors aren't mutually exclusive. I would much prefer that poorly formed pages cause the address bar to change in some visually distinctive way, similar to how modern browsers make part of the address bar green for pages retrieved over HTTPS. Another option would be to display an error page with a button that says something to the effect of "try and guess what the lazy developer wanted". An inability to guarantee valid output hints that inputs aren't being properly analyzed and sanitized, with terrible security consequences. Both developers and users of pages should be made aware when these errors occur. If the error messages are too intrusive, adoption of browsers displaying them would of course suffer greatly.