{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,14]],"date-time":"2023-09-14T04:23:28Z","timestamp":1694665408048},"reference-count":45,"publisher":"Wiley","issue":"2","license":[{"start":{"date-parts":[[2004,1,22]],"date-time":"2004-01-22T00:00:00Z","timestamp":1074729600000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[2004,2]]},"abstract":"Abstract<\/jats:title>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.<\/jats:p>Many of the problems with HTTP can be traced to unfortunate choices about fundamental definitions and models. This paper analyzes the current (HTTP\/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.<\/jats:p>This paper explains that HTTP needs a clean and consistent data\u2010type model, and in particular needs an explicit \u2018instance\u2019 data type; that HTTP needs a clear data access model, and that resources and instances should carry explicit access\u2010model labels; and that HTTP needs a simple name space for implementations to declare sets of supported extensions. Copyright \u00a9 2004 John Wiley & Sons, Ltd.<\/jats:p>","DOI":"10.1002\/spe.573","type":"journal-article","created":{"date-parts":[[2004,1,28]],"date-time":"2004-01-28T08:02:21Z","timestamp":1075276941000},"page":"103-134","source":"Crossref","is-referenced-by-count":1,"title":["Clarifying the fundamentals of HTTP"],"prefix":"10.1002","volume":"34","author":[{"given":"Jeffrey C.","family":"Mogul","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2004,1,22]]},"reference":[{"key":"e_1_2_1_2_2","unstructured":"EinsteinA.Widely attributed quotation. (Various forms of this quotation are attributed to Einstein)."},{"key":"e_1_2_1_3_2","volume-title":"RFC 2616","author":"Fielding RT","year":"1999"},{"key":"e_1_2_1_4_2","first-page":"109","volume-title":"Proceedings of the USENIX Symposium on Internet Technology and Systems","author":"Krishnamurthy B","year":"2001"},{"key":"e_1_2_1_5_2","volume-title":"RFC 2045","author":"Freed N","year":"1996"},{"key":"e_1_2_1_6_2","volume-title":"Webster's Seventh New Collegiate Dictionary","author":"Merriam\u2013Webster","year":"1963"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/65.844497"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/236387.236416"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/263105.263162"},{"key":"e_1_2_1_10_2","unstructured":"TridgellA MackerrasP. The rsync algorithm.Technical Report TR\u2010CS\u201096\u201005 Department of Computer Science Australian National University 1996.http:\/\/cs.anu.edu.au\/techreports\/1996\/TR\u2010CS\u201096\u201005.html."},{"key":"e_1_2_1_11_2","first-page":"117","volume-title":"Proceedings IEEE Infocom '99","author":"Chan MC","year":"1999"},{"key":"e_1_2_1_12_2","unstructured":"Mozilla.org. Bugzilla bug 176222: HTTP headers getting mis\u2010parsed.http:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=176222."},{"key":"e_1_2_1_13_2","volume-title":"RFC 3229","author":"Mogul JC","year":"2002"},{"key":"e_1_2_1_14_2","volume-title":"RFC 3230","author":"Mogul JC","year":"2002"},{"key":"e_1_2_1_15_2","unstructured":"Berners\u2010LeeT. Hypertext transfer protocol (HTTP). Internet Draft draft\u2010ietf\u2010iiir\u2010http\u201000.txt. IETF November1993(in progress).ftp:\/\/ftp.std.com\/obi\/Networking\/WWW\/draft\u2010ietf\u2010iiir\u2010http\u201000.txt."},{"key":"e_1_2_1_16_2","unstructured":"WesselsD.Personal communication April2003."},{"key":"e_1_2_1_17_2","unstructured":"IRCache Project.http:\/\/www.ircache.net\/."},{"key":"e_1_2_1_18_2","unstructured":"Apache Software Foundation.http:\/\/www.apache.org\/."},{"key":"e_1_2_1_19_2","unstructured":"FisherD.Personal communication April2003."},{"key":"e_1_2_1_20_2","unstructured":"Frystyk NielsenH.Personal communication April2003."},{"key":"e_1_2_1_21_2","volume-title":"RFC 2295","author":"Holtman K","year":"1998"},{"key":"e_1_2_1_22_2","unstructured":"RousskovA.Personal communication April2003."},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-08755-9_4"},{"key":"e_1_2_1_24_2","volume-title":"RFC 3143","author":"Cooper I","year":"2001"},{"key":"e_1_2_1_25_2","volume-title":"RFC 2533","author":"Klyne G","year":"1999"},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0140-3664(00)00310-8"},{"key":"e_1_2_1_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/357401.357402"},{"key":"e_1_2_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/945846.945850"},{"key":"e_1_2_1_29_2","volume-title":"RFC 2068","author":"Fielding RT","year":"1997"},{"key":"e_1_2_1_30_2","first-page":"147","volume-title":"Proceedings of the Symposium on Internet Technologies and Systems","author":"Douglis F","year":"1997"},{"key":"e_1_2_1_31_2","volume-title":"RFC 2310","author":"Holtman K","year":"1998"},{"key":"e_1_2_1_32_2","volume-title":"RFC 2518","author":"Goland Y","year":"1999"},{"key":"e_1_2_1_33_2","volume-title":"RFC 2145","author":"Mogul JC","year":"1997"},{"key":"e_1_2_1_34_2","volume-title":"RFC 2774","author":"Frystyk Nielsen H","year":"2000"},{"key":"e_1_2_1_35_2","unstructured":"MogulJ CohenJ LawrenceS. Specification of HTTP\/1.1 OPTIONS messages. Internet Draft draft\u2010ietf\u2010http\u2010options\u201002.txt. HTTP Working Group 1997(in progress)."},{"key":"e_1_2_1_36_2","volume-title":"RFC 2938","author":"Klyne G","year":"2000"},{"key":"e_1_2_1_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/383034.383037"},{"key":"e_1_2_1_38_2","volume-title":"RFC 3238","author":"Internet Architecture Board","year":"2002"},{"key":"e_1_2_1_39_2","volume-title":"RFC 2965","author":"Kristol DM","year":"2000"},{"key":"e_1_2_1_40_2","volume-title":"RFC 2660","author":"Rescorla E","year":"1999"},{"key":"e_1_2_1_41_2","doi-asserted-by":"crossref","first-page":"407","DOI":"10.1145\/337180.337228","volume-title":"Proceedings 22nd International Conference on Software Engineering","author":"Fielding RT","year":"2000"},{"key":"e_1_2_1_42_2","unstructured":"EastlakeDE3rd.Protocol versus document points of view. Internet\u2010Draft draft\u2010eastlake\u2010proto\u2010doc\u2010pov\u201004.txt. IETF September2001(in progress pending publication as an RFC)."},{"key":"e_1_2_1_43_2","unstructured":"BakerM.An abstract model for HTTP resource state. Internet\u2010Draft draft\u2010baker\u2010http\u2010resource\u2010state\u2010model\u201001.txt. IETF November2001(in progress)."},{"key":"e_1_2_1_44_2","unstructured":"BradleyAD BestavrosA KfouryAJ.Safe composition of Web communication protocols for extensible edge services.Proceedings of the 7th International Workshop on Web Content Caching and Distribution August2002;49\u201362."},{"key":"e_1_2_1_45_2","unstructured":"Frystyk NielsenH SpreitzerM JanssenB GettysJ. HTTP\u2010NG overview: Problem statement requirements and solution outline. Internet Draft draft\u2010frystyk\u2010httpng\u2010overview\u201000.txt. IETF 1998(in progress).http:\/\/www.w3.org\/Protocols\/HTTP\u2010NG\/1998\/11\/draft\u2010frystyk\u2010httpng\u2010overview\u201000."},{"key":"e_1_2_1_46_2","unstructured":"LiD CaoP DahlinM. WCIP: Web cache invalidation protocol. Internet Draft draft\u2010danli\u2010wrec\u2010wcip\u201001.txt. IETF March2001(in progress)."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.573","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.573","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,9,13]],"date-time":"2023-09-13T04:10:01Z","timestamp":1694578201000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.573"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,1,22]]},"references-count":45,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2004,2]]}},"alternative-id":["10.1002\/spe.573"],"URL":"https:\/\/doi.org\/10.1002\/spe.573","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004,1,22]]}}}