Clarifying the fundamentals of HTTP

Jeffrey C. Mogul
2004 Software, Practice & Experience  
The simplicity of HTTP was a major factor in the success of the Web. However, as both the protocol and its uses have evolved, HTTP has grown complex. This complexity results in numerous problems, including confused implementors, interoperability failures, difficulty in extending the protocol, and a long specification without much documented rationale. Many of the problems with HTTP can be traced to unfortunate choices about fundamental definitions and models. This paper analyzes the current
more » ... P/1.1) protocol design, showing how it fails in certain cases, and how to improve these fundamentals. Some problems with HTTP can be fixed simply by adopting new models and terminology, allowing us to think more clearly about implementations and extensions. Other problems require explicit (but compatible) protocol changes.
doi:10.1002/spe.573 fatcat:ofpfoqsp6baybjqrr6cxewcbw4