{"id":18,"date":"2002-08-08T10:02:00","date_gmt":"2002-08-08T14:02:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=54"},"modified":"2002-08-08T10:02:00","modified_gmt":"2002-08-08T14:02:00","slug":"clemens-on-http","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2002\/08\/clemens-on-http\/","title":{"rendered":"Clemens on HTTP"},"content":{"rendered":"<p>Clemens writes <a href=\"http:\/\/radio.weblogs.com\/0108971\/2002\/08\/04.html#a62\">some<\/a> <a href=\"http:\/\/radio.weblogs.com\/0108971\/2002\/08\/08.html#a69\">more<\/a>about HTTP, transactions, reliability, despite his publication deadline.  Go, Clemens!<\/p>\n\n<p>FWIW, I don&#8217;t disagree that this is a commonly held view, but in my view, it&#8217;s entirely incorrect.  HTTP is not a panacea, but it&#8217;s also not just a web page retrieval protocol.  Some point-by-point responses;<\/p>\n\n<p>\n<ul>\n<li><em>I said that HTTP, without resorting to things like tunneling or callbacks, doesn&#8217;t support any flavor of transactional behavior[&#8230;]<\/em>.  This is incorrect.  HTTP supports what is sometimes referred to as a &#8220;state alignment transaction&#8221;.  That is, any party in the transaction can synchronize with the state of the other party using HTTP GET.  State alignment is a form of transactional style that fits very well with the Internet\/Web.  Obviously, just using GET isn&#8217;t sufficient for all transactional needs, even with a state alignment approach, so more work remains to be done.  But to suggest that HTTP <em>doesn&#8217;t<\/em> and <em>can&#8217;t<\/em> do transactions is false.<\/li>\n<li><em>For additional cases where HTTP doesn&#8217;t really work (P2P in general and even non-transactional, long running operations)[&#8230;]<\/em>.  I use HTTP for P2P on a daily basis.  My company&#8217;s HTTP routing platform is premised on the fact that HTTP <em>is<\/em> suitable for P2P, and we&#8217;ve built some really cool, useful, and scalable stuff with it.  Ask <a href=\"http:\/\/www.knownow.com\">KnowNow<\/a> about this too.  WRT long running operations, see above re state alignment; you just have to look at the problem differently.<\/li>\n<li>I can&#8217;t say that I understand what you mean by the TIP\/BEEP\/HTTP pictures, but the prose preceding it suggests that you didn&#8217;t understand my point that you quoted.  I see reliability as an application layer issue, not a transport one.  See what <a href=\"http:\/\/research.sun.com\/techrep\/1994\/abstract-29.html\">Jim Waldo has to say<\/a> about the topic (chapter 5, if you don&#8217;t have time to read the whole thing).<\/li>\n<\/ul>\n<\/p>","protected":false},"excerpt":{"rendered":"Clemens writes some moreabout HTTP, transactions, reliability, despite his publication deadline. Go, Clemens! FWIW, I don&#8217;t disagree that this is a commonly held view, but in my view, it&#8217;s entirely incorrect. HTTP is not a panacea, but it&#8217;s also not just a web page retrieval protocol. Some point-by-point responses; I said that HTTP, without resorting [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-18","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/18","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=18"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/18\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=18"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=18"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}