Knowledge (XXG)

Comet (programming)

Source đź“ť

441:
easier to implement on the browser side, and works, at minimum, in every browser that supports XHR. As the name suggests, long polling requires the client to poll the server for an event (or set of events). The browser makes an Ajax-style request to the server, which is kept open until the server has new data to send to the browser, which is sent to the browser in a complete response. The browser initiates a new long polling request in order to obtain subsequent events.
384: 1045: 366:(XHR) object, a tool used by Ajax applications for browser–server communication, can also be pressed into service for server–browser Comet messaging by generating a custom data format for an XHR response, and parsing out each event using browser-side JavaScript; relying only on the browser firing the 282:
by offering two-way sustained interaction, using a persistent or long-lasting HTTP connection between the server and the client. Since browsers and proxies are not designed with server events in mind, several techniques to achieve this have been developed, each with different benefits and drawbacks.
287:
1.1 specification, which states "this specification... encourages clients to be conservative when opening multiple connections". Therefore, holding one connection open for real-time events has a negative impact on browser usability: the browser may be blocked from sending a new request while waiting
516:
elements, and setting their source to the location of the Comet server, which then sends back JavaScript (or JSONP) with some event as its payload. Each time the script request is completed, the browser opens a new one, just as in the XHR long polling case. This method has the advantage of being
440:
None of the above streaming transports work across all modern browsers without negative side-effects. This forces Comet developers to implement several complex streaming transports, switching between them depending on the browser. Consequently, many Comet applications use long polling, which is
139:
socket to communicate between the browser and the server. This socket can remain open as long as the browser is at the document hosting the applet. Event notifications can be sent in any format – text or binary – and decoded by the applet.
1051: 466:) or Javascript to be executed by the client. At the end of the processing of the response, the browser creates and sends another XHR, to await the next event. Thus the browser always keeps a request outstanding with the server, to be answered as each event occurs. 208:
following Crockford's suggestion. The entire system, the client libraries, the messaging format known as JSON and the server, became the State Application Framework, parts of which were sold and used by Sun Microsystems, Amazon.com, EDS and Volkswagen.
608:
protocol for data streaming to Flash applications). These have the advantage of working identically across all browsers with the appropriate plugin installed and need not rely on HTTP connections, but the disadvantage of requiring the plugin to be
505:, and JavaScript code in the response will be executed in the current HTML document. This creates a potential security risk for both servers involved, though the risk to the data provider (in our case, the Comet server) can be avoided using 578:
code with multiple Comet servers, and allowing the same Comet server to communicate with multiple client-side JavaScript implementations. Bayeux is based on a publish/subscribe model, so servers supporting Bayeux have publish/subscribe
353:
One benefit of the iframes method is that it works in every common browser. Two downsides of this technique are the lack of a reliable error handling method, and the impossibility of tracking the state of the request calling process.
184:, a framework created by Just van den Broecke, was one of the first open source implementations. Pushlets were based on server-side Java servlets, and a client-side JavaScript library. Bang Networks – a 199:
In April 2001, Chip Morningstar began developing a Java-based (J2SE) web server which used two HTTP sockets to keep open two communications channels between the custom HTTP server he designed and a client designed by
457:
long polling works like any standard use of XHR. The browser makes an asynchronous request of the server, which may wait for data to be available before responding. The response can contain encoded data (typically
1136: 350:
tag is executed as it is received. Some browsers require a specific minimum document size before parsing and execution is started, which can be obtained by initially sending 1–2 kB of padding spaces.
160:
funding. TANGO architecture has been patented by Syracuse University. TANGO framework has been extensively used as a distance education tool. The framework has been commercialized by
985: 534: 1047:
United States Patent: 6078948 - Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions
574:. It leaves browser-specific transports in place, and defines a higher-level protocol for communication between browser and server, with the aim of allowing re-use of 1133: 494:
in front of one or both sources, making them appear to originate from the same domain. However, this is often undesirable for complexity or performance reasons.
204:; a functioning demo system existed as of June 2001. The server and client used a messaging format that the founders of State Software, Inc. assented to coin as 148:
The very first application using browser-to-browser communications was Tango Interactive, implemented in 1996–98 at the Northeast Parallel Architectures Center (
319:. These events are incrementally handled and interpreted on the client side every time the server sends a new event, with neither side closing the connection. 1044:
Podgorny, Marek; Beca, Lukasz; Cheng, Gang; Fox, Geoffrey C.; Jurga, Tomasz; Olszewski, Konrad; Sokolowski, Piotr; Walczak, Krzysztof; PL (June 20, 2000),
255:, a startup since acquired by Google, built Comet-based real-time collaborative document editing. New Comet variants were created, such as the Java-based 964: 490:
enabled), Comet events cannot be used to modify the HTML and DOM of the main page, using those transports. This problem can be sidestepped by creating a
586:
protocol by the XMPP standards foundation. It emulates a bidirectional stream between the browser and server by using two synchronous HTTP connections.
1493: 1367: 342:
block, which implicitly declares it as infinitely long (sometimes called "forever frame"). As events occur, the iframe is gradually filled with
50:, encompassing multiple techniques for achieving this interaction. All these methods rely on features included by default in browsers, such as 1072: 525:
Browser-native technologies are inherent in the term Comet. Attempts to improve non-polling HTTP communication have come from multiple sides:
1310: 851: 723: 1001: 1480: 1108: 743: 769: 1350: 935: 893: 427: 486:
attacks. That is, if the main web page is served from one SLD, and the Comet server is located at another SLD (which does not have
394: 1255: 292:
for real-time information, which is an alias for the same physical server. This strategy is an application of domain sharding.
1199: 1467: 619:, implementing a Comet-like API with the help of a client JavaScript library on the browser. This API has been deprecated. 487: 136: 1233: 804: 605: 1557: 1552: 563:
API working draft specifies a method for creating a persistent connection with a server and receiving messages via an
502: 445:
compares long polling and HTTP streaming. Specific technologies for accomplishing long-polling include the following:
284: 266:"). Others that had previously used Java-applet based transports switched instead to pure-JavaScript implementations. 409: 164:
and used in a dozen or so Command&Control and Training applications in the United States Department of Defense.
279: 686: 405: 346:
tags, containing JavaScript to be executed in the browser. Because browsers render HTML pages incrementally, each
288:
for the results of a previous request, e.g., a series of images. This can be worked around by creating a distinct
779: 339: 1181: 1562: 1220:
Orbited: Enabling Comet for the Masses: OSCON 2008 - O'Reilly Conferences, July 21 - 25, 2008, Portland, Oregon
443:
IETF RFC 6202 "Known Issues and Best Practices for the Use of Long Polling and Streaming in Bidirectional HTTP"
1018: 196: – had a lavishly-financed attempt to create a real-time push standard for the entire web. 655: 575: 910: 338:, which allows a website to embed one HTML document inside another). This invisible iframe is sent as a 308: 236: 798: 483: 132: 1520: 1083: 479: 153: 1249: 550: 538: 217: 111: 998: 1346: 1338: 1306: 1302: 1219: 1112: 979: 889: 881: 847: 821: 719: 616: 590: 316: 216:
Alex Russell coined the term Comet in a post on his personal blog. The new term was a play on
213: 201: 1342: 885: 872: 783: 259: 240: 225: 747: 1237: 1185: 1140: 1005: 634: 629: 583: 571: 221: 193: 62: 35: 23: 943: 454: 363: 275: 185: 55: 1546: 1158: 1025:. Northeast Parallel Architecture Center, College of Engineering and Computer Science 295:
Specific methods of implementing Comet fall into two major categories: streaming and
244: 177: 47: 1468:
Google App Engine Blog: Happy Holidays from the App Engine team - 1.4.0 SDK released
1331: 491: 331: 296: 1421: 1281: 1297:
Holdener III, Anthony T. (January 2008). "Page Layout with Frames that Aren't".
601: 597: 312: 128: 73:
for the collective techniques. Comet is known by several other names, including
39: 1448:
An alternative to XMLHttpRequest for long lasting server initiated push of data
1268: 475: 135:.0 in March 1996) made two-way sustained communications possible, using a raw 51: 31: 1230: 1154: 322:
Specific techniques for accomplishing streaming Comet include the following:
690: 560: 107: 91: 70: 54:, rather than on non-default plugins. The Comet approach differs from the 289: 256: 235:’s multi-protocol web-based chat application enabled users to connect to 231:
In 2006, some applications exposed those techniques to a wider audience:
189: 181: 173: 1443: 775: 252: 512:
A long-polling Comet transport can be created by dynamically creating
442: 1375: 1256:
Renkoo launches event service — in time to schedule holiday cocktails
1178: 715: 612: 557: 530: 1280:
Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing,
1252:” (interview with Abe Fettig). Ajaxian. Retrieved 15 December 2007. 1073:"Experiences with Using TANGO Interactive in a Distributed Workshop" 412:. Statements consisting only of original research should be removed. 172:
The first set of Comet implementations dates back to 2000, with the
1396: 247:
chat platforms through the browser; Google added web-based chat to
506: 248: 232: 157: 27: 517:
cross-browser while still allowing cross-domain implementations.
330:
A basic technique for dynamic web application is to use a hidden
463: 205: 100: 274:
Comet applications attempt to eliminate the limitations of the
149: 106:
In recent years, the standardisation and widespread support of
1400: 459: 377: 99:
is not an acronym, but was coined by Alex Russell in his 2006
1329:
Flanagan, David (2006-08-17). "13.8.4 Cross-Site Scripting".
771:
Ajax Push (a.k.a. Comet) with Java Business Integration (JBI)
482:(SLDs), due to browser security policies designed to prevent 58:, in which a browser requests a complete web page at a time. 1134:
Pushlets: Send events from servlets to DHTML client browsers
1019:"TANGO - a Collaborative Environment for the World-Wide Web" 478:, none of the above transports can be used across different 161: 1524: 1481:
App Engine gets Streaming API and longer background tasks
1536:
Comet Daily provides information about Comet techniques.
1470:. Googleappengine.blogspot.com. Retrieved on 2014-04-12. 744:"Comet Programming: Using Ajax to Simulate Server Push" 401: 551:
All major browsers except Microsoft Internet Explorer
474:
While any Comet transport can be made to work across
844:
Comet and Reverse Ajax: The Next Generation Ajax 2.0
712:
Comet and Reverse Ajax: The Next-Generation Ajax 2.0
307:
An application using streaming Comet opens a single
144:
The first browser-to-browser communication framework
1188:”. Alex Russell’s blog. Retrieved 29 November 2007. 1330: 871: 535:Web Hypertext Application Technology Working Group 228:both being common household cleaners in the USA). 967:. Archived from the original on November 15, 1996 865: 863: 1231:Enterprise Comet & Web 2.0 Live Presentation 984:: CS1 maint: bot: original URL status unknown ( 940:Simulating Server Push in a Standard Web Browser 710:Crane, Dave; McCarthy, Phil (October 13, 2008). 42:, without the browser explicitly requesting it. 1292: 1290: 999:"java.net.Socket (Java 2 Platform SE v1.4.2)" 8: 1258:”. Venture Beat. Retrieved 15 December 2007. 1155:"Will the "refresh" button become obsolete?" 593:, would be an alternative to the XHR object. 1200:"Microsoft Scrubs Comet from AJAX Tool Set" 541:, which defines a new JavaScript interface 497:Unlike iframes or XMLHttpRequest objects, 1494:"Package com.google.appengine.api.channel" 262:framework (although they prefer the term " 1271:”. DevX News. Retrieved 18 February 2008. 1082:. CEWES MSRC/PET TR/99-21. Archived from 842:Crane, Dave; McCarthy, Phil (July 2008). 656:"Comet: Low Latency Data for the Browser" 428:Learn how and when to remove this message 370:callback each time it receives new data. 1483:. Ars Technica. Retrieved on 2014-04-12. 1179:Comet: Low Latency Data for the Browser 1109:"CometDaily: Comet and Push Technology" 677: 646: 114:has rendered the Comet model obsolete. 1324: 1322: 1143:”. JavaWorld. Retrieved 1 August 2014. 1132:Just van den Broecke (1 March 2000). “ 977: 936:"The Slow Load Technique/Reverse AJAX" 796: 1250:Jotspot Live: Live, group note-taking 816: 814: 737: 735: 7: 1422:"Bayeux Protocol - Bayeux 1.0draft1" 589:The JSONRequest object, proposed by 533:draft specification produced by the 1267:Clint Boulton (27 December 2005). “ 1254:Matt Marshall (15 December 2006). “ 915:Different ways of doing server push 1420:Alex Russell; et al. (2007). 1248:Dion Almaer (29 September 2005). “ 1080:CEWES Major Shared Resource Center 746:. Webreference.com. Archived from 687:"AJAX alliance recognizes mashups" 685:Krill, Paul (September 24, 2007). 14: 1442:Crockford, Douglas (2006-04-17). 1269:Startups Board the AJAX Bandwagon 615:announced a new Channel API for 382: 1366:Ian Hickson, ed. (2007-10-27). 1333:JavaScript the Definitive Guide 870:Mahemoff, Michael (June 2006). 61:The use of Comet techniques in 1198:K. Taft, Darryl (2006-05-12). 1177:Alex Russell (3 March 2006). “ 911:"More on Ajax and server push" 768:Egloff, Andreas (2007-05-05). 1: 1505:This API has been deprecated. 934:Nesbitt, Bryce (2005-11-01). 537:(WHATWG) specifies so called 488:cross-origin resource sharing 131:into browsers (starting with 65:predates the use of the word 1368:"6.2 Server-sent DOM events" 1284:. IETF. Retrieved 2014-07-29 1153:Borland, John (2001-04-01). 909:Double, Chris (2005-11-05). 654:Russell, Alex (2006-03-04). 315:to the server for all Comet 1395:Hickson, Ian (2009-04-23). 1023:Syracuse University SURFACE 570:The Bayeux protocol by the 501:tags can be pointed at any 449:XMLHttpRequest long polling 408:the claims made and adding 26:model in which a long-held 1579: 1372:HTML 5 - Call For Comments 1299:Ajax: The Definitive Guide 283:The biggest hurdle is the 1479:Paul, Ryan. (2010-12-06) 780:San Francisco, California 56:original model of the web 803:: CS1 maint: location ( 596:Use of plugins, such as 553:include this technology. 180:, and KnowNow projects. 168:First Comet applications 1466:App, The. (2010-12-02) 470:Script tag long polling 95:among others. The term 576:client-side JavaScript 374:Ajax with long polling 276:page-by-page web model 1017:Beca, Lukasz (1997). 1004:May 19, 2009, at the 309:persistent connection 127:The ability to embed 16:Web application model 1444:"JSONRequest Duplex" 878:Ajax Design Patterns 545:and a new MIME type 484:cross-site scripting 480:second-level domains 133:Netscape Navigator 2 1397:"The WebSocket API" 1071:Baer, Troy (1999). 600:or the proprietary 453:For the most part, 188:start-up backed by 154:Syracuse University 1558:Web 2.0 neologisms 1553:Ajax (programming) 1236:2008-05-20 at the 1184:2008-08-12 at the 1139:2014-08-04 at the 539:server-sent events 393:possibly contains 368:onreadystatechange 123:Early Java applets 112:Server-sent events 1424:. Dojo Foundation 1312:978-0-596-52838-6 853:978-1-59059-998-3 725:978-1-59059-998-3 617:Google App Engine 591:Douglas Crockford 547:text/event-stream 438: 437: 430: 395:original research 334:HTML element (an 214:software engineer 202:Douglas Crockford 30:request allows a 1570: 1538: 1533: 1532: 1523:. Archived from 1508: 1507: 1502: 1501: 1490: 1484: 1477: 1471: 1464: 1458: 1457: 1455: 1454: 1439: 1433: 1432: 1430: 1429: 1417: 1411: 1410: 1408: 1407: 1392: 1386: 1385: 1383: 1382: 1363: 1357: 1356: 1336: 1326: 1317: 1316: 1294: 1285: 1278: 1272: 1265: 1259: 1246: 1240: 1228: 1222: 1217: 1211: 1210: 1208: 1207: 1195: 1189: 1175: 1169: 1168: 1166: 1165: 1150: 1144: 1130: 1124: 1123: 1121: 1120: 1111:. Archived from 1105: 1099: 1098: 1096: 1094: 1088: 1077: 1068: 1062: 1061: 1060: 1059: 1050:, archived from 1041: 1035: 1034: 1032: 1030: 1014: 1008: 996: 990: 989: 983: 975: 973: 972: 961: 955: 954: 952: 951: 942:. Archived from 931: 925: 924: 922: 921: 906: 900: 899: 875: 867: 858: 857: 839: 833: 832: 830: 829: 818: 809: 808: 802: 794: 792: 791: 784:Sun Microsystems 765: 759: 758: 756: 755: 739: 730: 729: 707: 701: 700: 698: 697: 682: 666: 665: 663: 662: 651: 566: 548: 544: 515: 500: 433: 426: 422: 419: 413: 410:inline citations 386: 385: 378: 369: 349: 345: 278:and traditional 92:HTTP server push 1578: 1577: 1573: 1572: 1571: 1569: 1568: 1567: 1563:Web development 1543: 1542: 1530: 1528: 1519: 1516: 1511: 1499: 1497: 1492: 1491: 1487: 1478: 1474: 1465: 1461: 1452: 1450: 1441: 1440: 1436: 1427: 1425: 1419: 1418: 1414: 1405: 1403: 1394: 1393: 1389: 1380: 1378: 1365: 1364: 1360: 1353: 1328: 1327: 1320: 1313: 1305:. p. 320. 1296: 1295: 1288: 1279: 1275: 1266: 1262: 1253: 1247: 1243: 1238:Wayback Machine 1229: 1225: 1218: 1214: 1205: 1203: 1197: 1196: 1192: 1186:Wayback Machine 1176: 1172: 1163: 1161: 1152: 1151: 1147: 1141:Wayback Machine 1131: 1127: 1118: 1116: 1107: 1106: 1102: 1092: 1090: 1089:on 8 March 2021 1086: 1075: 1070: 1069: 1065: 1057: 1055: 1043: 1042: 1038: 1028: 1026: 1016: 1015: 1011: 1006:Wayback Machine 997: 993: 976: 970: 968: 963: 962: 958: 949: 947: 933: 932: 928: 919: 917: 908: 907: 903: 896: 869: 868: 861: 854: 841: 840: 836: 827: 825: 820: 819: 812: 795: 789: 787: 767: 766: 762: 753: 751: 742:Gravelle, Rob. 741: 740: 733: 726: 709: 708: 704: 695: 693: 684: 683: 679: 675: 670: 669: 660: 658: 653: 652: 648: 643: 635:Pull technology 630:Push technology 626: 572:Dojo Foundation 564: 546: 542: 523: 513: 498: 472: 451: 434: 423: 417: 414: 399: 387: 383: 376: 367: 360: 347: 343: 328: 305: 272: 270:Implementations 212:In March 2006, 194:Marc Andreessen 170: 146: 125: 120: 63:web development 24:web application 17: 12: 11: 5: 1576: 1574: 1566: 1565: 1560: 1555: 1545: 1544: 1541: 1540: 1515: 1514:External links 1512: 1510: 1509: 1485: 1472: 1459: 1434: 1412: 1387: 1358: 1351: 1339:O'Reilly Media 1318: 1311: 1303:O'Reilly Media 1286: 1273: 1260: 1241: 1223: 1212: 1190: 1170: 1145: 1125: 1100: 1063: 1036: 1009: 991: 965:"Netscape.com" 956: 926: 901: 894: 882:O'Reilly Media 873:"Web Remoting" 859: 852: 834: 824:. ICEfaces.org 810: 760: 731: 724: 702: 676: 674: 671: 668: 667: 645: 644: 642: 639: 638: 637: 632: 625: 622: 621: 620: 610: 594: 587: 580: 568: 554: 522: 519: 471: 468: 455:XMLHttpRequest 450: 447: 436: 435: 390: 388: 381: 375: 372: 364:XMLHttpRequest 359: 358:XMLHttpRequest 356: 327: 324: 313:client browser 304: 301: 271: 268: 186:Silicon Valley 169: 166: 145: 142: 124: 121: 119: 116: 87:HTTP Streaming 15: 13: 10: 9: 6: 4: 3: 2: 1575: 1564: 1561: 1559: 1556: 1554: 1551: 1550: 1548: 1537: 1527:on 2008-01-04 1526: 1522: 1521:"Comet Daily" 1518: 1517: 1513: 1506: 1495: 1489: 1486: 1482: 1476: 1473: 1469: 1463: 1460: 1449: 1445: 1438: 1435: 1423: 1416: 1413: 1402: 1398: 1391: 1388: 1377: 1373: 1369: 1362: 1359: 1354: 1352:0-596-10199-6 1348: 1344: 1340: 1335: 1334: 1325: 1323: 1319: 1314: 1308: 1304: 1300: 1293: 1291: 1287: 1283: 1277: 1274: 1270: 1264: 1261: 1257: 1251: 1245: 1242: 1239: 1235: 1232: 1227: 1224: 1221: 1216: 1213: 1201: 1194: 1191: 1187: 1183: 1180: 1174: 1171: 1160: 1159:CNET Networks 1156: 1149: 1146: 1142: 1138: 1135: 1129: 1126: 1115:on 2007-11-13 1114: 1110: 1104: 1101: 1085: 1081: 1074: 1067: 1064: 1054:on 2017-05-09 1053: 1049: 1048: 1040: 1037: 1024: 1020: 1013: 1010: 1007: 1003: 1000: 995: 992: 987: 981: 966: 960: 957: 946:on 2006-02-08 945: 941: 937: 930: 927: 916: 912: 905: 902: 897: 895:0-596-10180-5 891: 887: 883: 879: 874: 866: 864: 860: 855: 849: 845: 838: 835: 823: 817: 815: 811: 806: 800: 785: 781: 777: 773: 772: 764: 761: 750:on 2010-10-18 749: 745: 738: 736: 732: 727: 721: 717: 713: 706: 703: 692: 688: 681: 678: 672: 657: 650: 647: 640: 636: 633: 631: 628: 627: 623: 618: 614: 611: 607: 603: 599: 595: 592: 588: 585: 581: 577: 573: 569: 562: 559: 555: 552: 540: 536: 532: 528: 527: 526: 520: 518: 510: 508: 504: 495: 493: 489: 485: 481: 477: 469: 467: 465: 461: 456: 448: 446: 444: 432: 429: 421: 418:December 2017 411: 407: 403: 397: 396: 391:This article 389: 380: 379: 373: 371: 365: 357: 355: 351: 341: 337: 333: 326:Hidden iframe 325: 323: 320: 318: 314: 310: 302: 300: 298: 293: 291: 286: 281: 277: 269: 267: 265: 261: 258: 254: 250: 246: 242: 238: 234: 229: 227: 223: 219: 215: 210: 207: 203: 197: 195: 191: 187: 183: 179: 178:Lightstreamer 175: 167: 165: 163: 159: 155: 151: 143: 141: 138: 134: 130: 122: 117: 115: 113: 109: 104: 102: 98: 94: 93: 88: 84: 80: 76: 72: 68: 64: 59: 57: 53: 49: 48:umbrella term 45: 41: 37: 33: 29: 25: 21: 1535: 1529:. Retrieved 1525:the original 1504: 1498:. Retrieved 1496:. 2019-11-16 1488: 1475: 1462: 1451:. Retrieved 1447: 1437: 1426:. Retrieved 1415: 1404:. Retrieved 1390: 1379:. Retrieved 1371: 1361: 1332: 1298: 1276: 1263: 1244: 1226: 1215: 1204:. Retrieved 1193: 1173: 1162:. Retrieved 1148: 1128: 1117:. Retrieved 1113:the original 1103: 1091:. Retrieved 1084:the original 1079: 1066: 1056:, retrieved 1052:the original 1046: 1039: 1027:. Retrieved 1022: 1012: 994: 969:. Retrieved 959: 948:. Retrieved 944:the original 939: 929: 918:. Retrieved 914: 904: 877: 843: 837: 826:. Retrieved 788:. Retrieved 770: 763: 752:. Retrieved 748:the original 711: 705: 694:. Retrieved 680: 659:. Retrieved 649: 598:Java applets 524: 521:Alternatives 511: 496: 492:proxy server 473: 452: 439: 424: 415: 392: 361: 352: 336:inline frame 335: 329: 321: 306: 297:long polling 294: 273: 263: 230: 211: 198: 171: 147: 129:Java applets 126: 105: 96: 90: 86: 82: 79:Reverse Ajax 78: 74: 66: 60: 43: 19: 18: 1282:section 6.4 1202:. eWEEK.com 1093:27 February 1029:27 February 884:. pp.  822:"Ajax Push" 799:cite speech 602:Adobe Flash 543:EventSource 192:co-founder 83:Two-way-web 1547:Categories 1531:2007-11-29 1500:2020-04-30 1453:2008-05-05 1428:2007-12-14 1406:2009-07-21 1381:2008-10-07 1341:. p.  1206:2008-07-21 1164:2008-07-22 1119:2007-12-15 1058:2016-02-27 971:2017-08-16 950:2008-05-06 920:2008-05-05 846:. Apress. 828:2014-10-23 790:2008-06-10 774:(Speech). 754:2010-10-20 696:2010-10-20 673:References 661:2014-11-02 476:subdomains 402:improve it 162:CollabWorx 52:JavaScript 38:data to a 32:web server 691:InfoWorld 609:installed 579:built-in. 567:callback. 565:onmessage 561:WebSocket 406:verifying 311:from the 303:Streaming 264:Ajax Push 245:Microsoft 108:WebSocket 75:Ajax Push 71:neologism 1234:Archived 1182:Archived 1137:Archived 1002:Archived 980:cite web 624:See also 290:hostname 257:ICEfaces 190:Netscape 182:Pushlets 174:Pushlets 776:JavaOne 604:(using 400:Please 340:chunked 280:polling 253:JotSpot 118:History 40:browser 1376:WHATWG 1349:  1309:  892:  886:19, 85 850:  778:2007, 722:  716:Apress 613:Google 558:HTML 5 531:HTML 5 514:script 499:script 348:script 344:script 332:iframe 317:events 243:, and 156:using 103:post. 89:, and 46:is an 1087:(PDF) 1076:(PDF) 786:, Inc 641:Notes 507:JSONP 249:Gmail 241:Yahoo 233:Meebo 226:Comet 158:DARPA 152:) at 97:Comet 69:as a 67:Comet 44:Comet 28:HTTPS 22:is a 20:Comet 1347:ISBN 1307:ISBN 1095:2016 1031:2016 986:link 890:ISBN 848:ISBN 805:link 720:ISBN 606:RTMP 584:BOSH 582:The 556:The 529:The 464:JSON 362:The 285:HTTP 224:and 222:Ajax 218:Ajax 206:JSON 150:NPAC 110:and 101:blog 36:push 1401:W3C 1343:994 503:URI 462:or 460:XML 404:by 260:JSF 237:AOL 137:TCP 34:to 1549:: 1534:. 1503:. 1446:. 1399:. 1374:. 1370:. 1345:. 1337:. 1321:^ 1301:. 1289:^ 1157:. 1078:. 1021:. 982:}} 978:{{ 938:. 913:. 888:. 880:. 876:. 862:^ 813:^ 801:}} 797:{{ 782:: 734:^ 718:. 714:. 689:. 549:. 509:. 299:. 251:; 239:, 176:, 85:, 81:, 77:, 1539:* 1456:. 1431:. 1409:. 1384:. 1355:. 1315:. 1209:. 1167:. 1122:. 1097:. 1033:. 988:) 974:. 953:. 923:. 898:. 856:. 831:. 807:) 793:. 757:. 728:. 699:. 664:. 431:) 425:( 420:) 416:( 398:. 220:(

Index

web application
HTTPS
web server
push
browser
umbrella term
JavaScript
original model of the web
web development
neologism
HTTP server push
blog
WebSocket
Server-sent events
Java applets
Netscape Navigator 2
TCP
NPAC
Syracuse University
DARPA
CollabWorx
Pushlets
Lightstreamer
Pushlets
Silicon Valley
Netscape
Marc Andreessen
Douglas Crockford
JSON
software engineer

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑