Talk:Comet (programming)/Archive 1

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Useful links[edit]

This seems to be a very cool technology, I have done some Googling and added some (I hope) useful links --Kompere 17:45, 18 May 2006 (UTC)

Architecture images[edit]

Someone ask for permission to post an image of the COMET architecture!! Please! Let's not break any wikipedia rules!—The preceding unsigned comment was added by MezZzeR (talkcontribs) 01:55, 20 December 2006 (UTC).

I plan to make and add some images in the nearish future (i.e. next few weeks/months). --jacobolus (t) 09:05, 15 December 2007 (UTC)

Same-origin issues[edit]

"This is often worked around by creating a distinct hostname for push connections (even with a single physical server)."

Does anyone have a source for this statement? It seems to me that same origin security restrictions would prevent this? Or do these applications specifically use Flash to bypass those restrictions?161.184.173.81 21:35, 13 June 2007 (UTC)

I was just reading a little on it. Perhaps the statement in question is ambiguous. Under the blog article at Comet: A New Approach to Ajax Applications, there are two comments (cooperpx, Siegmund Führinger) about serving (some) content either from another server or from another virtual host on same server. The first comment refers to HTML and images as examples. Certainly, content such as HTML, CSS files and image files would not be affected by the cross-domain browser restriction. If the AJAX request (XMLHttpRequest) is to a URL of different domain than the page with the JavaScript making the request, permission would be denied by the browser. Methods other than AJAX may be able to avoid the problem; the use of JSON and dynamic script tags is one alternative mentioned at http://developer.yahoo.com/javascript/howto-proxy.html. --KenGCL 08:15, 29 October 2007 (UTC)
I intend to clarify this when I rewrite most of this article sometime in the coming month or two. But right, dynamic script tags is currently the best (only?) way to do cross-domain Comet (to use XHR, you need either: everything served from the same server, or passed through a proxy, or 2 servers set to different sub-domains of the same domain, e.g. foo.com and bar.foo.com). --jacobolus (t) 09:34, 29 October 2007 (UTC)
I look forward to the rewrite; the article is a good resource. Dynamic script tags sounds like an easy enough alternative. I wonder how performance compares. I did come across two approaches (http://ajaxian.com/archives/how-to-make-xmlhttprequest-calls-to-another-server-in-your-domain, http://ajaxian.com/archives/cross-domain-xhr-with-dojo) using iframe to allow cross-domain XHR, although some of the cons give me pause. Interestingly, I see some mentions that there's a cross-domain XHR proposal in the W3C's Web API group. --KenGCL 20:22, 29 October 2007 (UTC)
Hopefully this is clear now? --jacobolus (t) 09:05, 15 December 2007 (UTC)

Comet is nothing new[edit]

comet is nothing new, look here: http://web.archive.org/web/20000305201134/http://www.ietf.org/internet-drafts/draft-wolf-http-select-00.txt

yes in the sense that netscape's server-push already provided that in 1995 essentially, and no in the sense that the draft you suggest requires browsers to use methods they don't implement, and thus this draft is just an idea out of dozens of similar ideas long before. just look through the papers presented at early WWW conferences of the W3C --lynX

Not the best term[edit]

This might not be the best term to user for server-push since there is a programming language called Comet. Comet programing was designed to tackle the problem of Constraint Based Local Search. Apptrain 16:16, 20 September 2007 (UTC)

Wikipedia is not the place to decide what the best term is; “comet” is already in wide use as a description of the technology, so Wikipedia's role is documentary, not proscriptive. Anyway, there is plenty of room for Comet (programming language); please be WP:BOLD, and start that article up. It can be linked for disambiguation purposes from the top of this article. --jacobolus (t) 09:11, 11 October 2007 (UTC)

Needs an explanation to how it works[edit]

Must it have special server software? Does it work through JS in the client-side? How is it achieved at both ends? 79.179.151.101 14:16, 5 October 2007 (UTC)

I'll try to add some explanation and expand this article sometime in the next few weeks. --jacobolus (t) 18:16, 16 October 2007 (UTC)
Alright, it has been a month now, but I'm finally getting around to this. :) --jacobolus (t) 17:36, 27 November 2007 (UTC)
Think it's explained well enough now? :) --jacobolus (t) 01:03, 5 December 2007 (UTC)

merge from “Push technology”, “HTTP streaming”, “Reverse Ajax”, and “Pushlet”[edit]

The parts of push technology which are about servers pushing data to browsers using HTTP should be merged into this article, and the "HTTP server push" section of that article should have a short summary, with a link to this as a main article. Also, the HTTP streaming, Reverse Ajax, and Pushlet articles should be merged into here and redirected. Then the rest of the push technology page should be expanded, so that it has subsections about things like "push email", etc. Thoughts? --jacobolus (t) 09:06, 11 October 2007 (UTC)

There is a historic problem to that. Comet as a term appeared recently, Mozilla's server push has been around much longer. So it seems more logical to make Comet a subset of a server push article. --lynX —Preceding signed but undated comment was added at 17:32, 11 October 2007 (UTC)
I don't actually care too much where the article sits. It just seems to me that the information should be merged, and that the result should be separate from the push technology article. And what do you mean by “mozilla’s server push”? These techniques work in one form or another on every browser. --jacobolus (t) 19:10, 11 October 2007 (UTC)
Okay, I've merged http streaming, reverse ajax, and pushlet. Push technology will take a bit more finesse; I'll try to do that one sometime in the next few weeks. (along with a complete rewrite of the article) --jacobolus (t) 23:40, 18 October 2007 (UTC)
Apparently there's some dispute about whether Reverse Ajax deserves its own article. I've stuck it back with notability and merge templates for now. --jacobolus (t) 21:29, 28 November 2007 (UTC)
Jacobolus, I have objected strongly to having Reverse Ajax merged with Comet. However, I do agree that Reverse Ajax may be a candidate for merging with a suitable article - Comet is just not that article. I also object to HTTP streaming being merged with Comet. HTTP Streaming is the higher level term, and encompasses all of Reverse Ajax, Pushlet and Comet. If anything the Comet article should have been merged into HTTP Streaming. (Furthermore Comet is a very prolific word and is hard to differentiate what exactly the term relates to in the field of programming. HTTP streaming is far more obvious.) sprocketonline (talk) 20:21, 29 November 2007 (UTC)
Merging Push technology into Comet is logically ridiculous. The particular definition of Comet is that it maintains a connection open for long periods. Push Technology can operate with short connection periods. Therefore Comet is a type of Push technology, but Push technology is not Comet. I have marked Reverse Ajax as a candidate for merging into Push technology (although HTTP streaming is slightly more applicable, but the article is/was less developed). 20:45, 29 November 2007 (UTC) —Preceding unsigned comment added by Sprocketonline (talkcontribs)
I think you're a bit confused. The suggestion was to merge the sections of the push technology article which discuss Comet into this article, not to obliterate the push technology article altogether, which indeed has a broader focus including push email, etc. --jacobolus (t) 01:05, 5 December 2007 (UTC)
This so called "merge" has been reverted. As was pointed out on this talk page "Comet" is a form of "Streaming Ajax" and the term push technology is both older and broader, therfore better suited to describe push/streaming concepts on the Internet. - 83.254.208.192 (talk) 00:58, 6 June 2008 (UTC)

Threading[edit]

IIS 5.x/6.x isn't a threaded server (probably 4.x too), its core is fully async and the synchronous API is built upon it. Async ISAPIs (and IIS 7.0 modules) are easy to build. —Preceding unsigned comment added by 24.18.208.200 (talk) 07:43, 6 December 2007 (UTC)

Alright. Thanks, fixed. --jacobolus (t) 11:28, 6 December 2007 (UTC)

Inappropriate: Page-by-page web section[edit]

The section about the traditional "page-by-page" www architecture should just be a link to an existing page. While it's useful information for this topic, it really belongs elsewhere. I suggest the [www] page. Other suggestions are encouraged! —Preceding unsigned comment added by 74.65.192.216 (talk) 09:58, 18 December 2007 (UTC)

I disagree. To provide a real introduction to the way Comet works, the reader must first understand the alternatives, and there is no way to do that without a short summary of the "page-by-page" web. It would be fine to have a more extensive description of this at some other page, with a "main article" link in the summary on this Comet page, but the text currently there should stay. --jacobolus (t) 00:10, 19 December 2007 (UTC)
Actually, it already links quite clearly to the relevant section of the World Wide Web page. So if you want, feel free to expand that page, but IMO that portion of the Comet article is just fine. --jacobolus (t) 00:13, 19 December 2007 (UTC)
As WP:TPA explains, “The perfect article is understandable; it is clearly expressed for both experts and non-experts in appropriate detail, and thoroughly explores and explains the subject. [It] is nearly self-contained; it includes essential information and terminology, and is comprehensible by itself, without requiring significant reading of other articles.” Hope that helps. --jacobolus (t) 00:23, 19 December 2007 (UTC)