TCP implementations will follow a general principle of robustness: be conservative in what you do, be liberal in what you accept from others.
Now there are all these web pages out there with errors, because all the early web browser developers made super-liberal, friendly, accommodating browsers that loved you for who you were and didn’t care if you made a mistake. And so there were lots of mistakes. And Postel’s “robustness” principle didn’t really work.
My expansion on Postel’s robustness principle: Even though you are liberal in what you accept, that doesn't mean you should do so silently.