== Ús general ==
Els serveis Push sovint es basen en preferències d'informació a mida. És a dir, un model publicador/subscriptor. Un client s'haurà de subscriure a diversos canals d'informació. Quan el nou contingut està disponible en un d'aquests canals, el servidor haurà d'enviar la informació a l'usuari.
Les [[conferències sincronitzades]] i la [[missatgeria instantània]] són exemples típics dels serveis tipus 'push'. Els missatges de xat i, en ocasions arxius, són enviats a l'usuari tan aviat aquests són rebuts pel sistema de missatgeria. Els programes descentralitzats [[P2P]] (com [[WASTE]]) i els centralitzats (com [[Internet Relay Chat|IRC]] o [[Extensible Messaging and Presence Protocol|Jabber]]) permeten fer 'push' d'arxius. És a dir, el remitent inicia la transferència de dades, en comptes del destinatari. ▼
▲Les [[conferències sincronitzades]] i la [[missatgeria instantània]] són exemples típics dels serveis tipus 'push'. Els missatges de xat i, ena ocasionsvegades arxius, són enviats a l'usuari tan aviat aquests són rebuts pel sistema de missatgeria. Els programes descentralitzats [[P2P]] (com [[WASTE]]) i els centralitzats (com [[Internet Relay Chat|IRC]] o [[Extensible Messaging and Presence Protocol|Jabber]]) permeten fer 'push' d'arxius. És a dir, el remitent inicia la transferència de dades, en comptes del destinatari.
El [[correu electrònic]] és un sistema push: el protocol [[SMTP]] en el que està basat, és un protocol push . Tanmateix, l'últim pas: des del servidor de correu, fins a l'escriptori de l'usuari usa un protocol pull com [[POP3]] o [[IMAP]]. Els clients moderns d'email fan que aquest pas sembli instantani (fan ús de consultes periòdiques al servidor de correu, buscant nous missatges). El protocol IMAP inclou l’ordre IMAP IDLE, que permet al servidor comunicar-li al client quan ha arribat un nou correu. El [[BlackBerry]] original va ser el primer exemple popular de tecnologia push en un context sense fils. ▼
▲El [[correu electrònic]] és un sistema push: el protocol [[SMTP]] en el que està basat, és un protocol push . Tanmateix, l'últim pas: des del servidor de correu, fins a l'escriptori de l'usuari usa un protocol pull com [[POP3]] o [[IMAP]]. Els clients moderns d'email fan que aquest pas sembli instantani (fan ús de consultes periòdiques al servidor de correu, buscant nous missatges). El protocol IMAP inclou l’ordrel'ordre IMAP IDLE, que permet al servidor comunicar-li al client quan ha arribat un nou correu. El [[BlackBerry]] original va ser el primer exemple popular de tecnologia push en un context sense fils.
Un altre exemple popular de tecnologia push en Internet va ser [[PointCast]], que va guanyar popularitat en els [[anys 1990]]. S'encarregava de repartir i guardar dades. Tant [[Netscape]] com [[Microsoft]] el van integrar en els seus programes durant la [[guerra dels navegadors]], però va ser reemplaçat mes tard, en els 2000 per [[RSS]] (una tecnologia pull).{{CN}}
Altres usos d’aplicacionsd'aplicacions web que fan ús de la tecnologia push, inclou la distribució de dades de mercats (inventaris), sistemes de missatgeria/xat online ([[xat]]), subhastes, jocs i casinos online, resultat d'esports, monitoratge de consoles i de [[Xarxa informàtica|xarxes]].
== Tecnologies ==
Generalment el servidor web no acaba la resposta després que les dades han estat enviades al client. El servidor web deixa la resposta oberta per si té lloc cap esdeveniment, aquest pugui ser enviat immediatament a un o a molts clients. D'altra manera, les dades haurien de ser posades en una cua fins que es rebi la pròxima petició del client. Molts servidors web ofereixen aquesta funcionalitat a través de [[Common Gateway Interface|CGI]] (per exemple NPH scripts a [[Servidor HTTP Apache|Apache]]).
Un altre mecanisme està relacionat amb un tipus especial [[MIME]] anomenat <code>multipart/x-mixed-replace</code>, que va ser introduït per [[Netscape]] el 1995. Els Web browsers ho hauvienhaurien d'interpretar com un canvi en el document quan el servidor publica una nova versió al clienteclient.<ref>{{Ref-web [|url=http://docs.rinet.ru/HTMLnya/ch38.htm |títol=Client pull/Server push implementations] |consulta=2009-09-18 |arxiuurl=https://web.archive.org/web/20100325230740/http://docs.rinet.ru/HTMLnya/ch38.htm |arxiudata=2010-03-25}}</ref><ref>[http://www.oreilly.com/openbook/cgi/ch06_06.html CGI Programming on the World Wide Web] El llibre d’Od'O'Reilly explica com fer servir el servidor push a Netscape</ref> Avui continua sent suportat per [[Mozilla Firefox|Firefox]], [[Opera]] i [[Safari]], però tradicionalment és ignorat. [[Microsoft]].<ref>[http://victor.transformadora.com/Oreilly/wdesign/xhtml/ch13_03.htm Server-Push Documents (HTML & XHTML: The Definitive Guide)] O'Reilly book explaining server-push</ref> Pot ser aplicat a documents [[HTML]], però per a difusió d'imatges en aplicacions amb [[webcam]].
El [[WHATWG]] té elaborat un esborrany d'una especificació Web Applications 1.0<ref>[http://www.whatwg.org/specs/web-apps/current-work/#scs-server-sent Web Applications 1.0]</ref > que publica contingut el client usant tecnologia push. L'1 de setembre del 2006, el navegador Opera va implementar aquesta tecnologia experimental en una característica anomenada "Server-Sent Events."<ref>[{{Ref-web |url=http://my.opera.com/WebApplications/blog/show.dml/438711 |títol=Event Streaming to Web Browsers] |consulta=2006-10-16 |arxiuurl=https://web.archive.org/web/20061016092908/http://my.opera.com/WebApplications/blog/show.dml/438711 |arxiudata=2006-10-16}}</ref ><ref>[{{Ref-web |url=http://operawatch.com/news/2006/09/opera-takes-the-lead-with-ajax-support-among-browsers-more-efficient-streaming.html |títol=Opera takes the lead with AJAX support among browsers: More efficient streaming] |consulta=2009-09-18 |arxiuurl=https://web.archive.org/web/20070318013327/http://operawatch.com/news/2006/09/opera-takes-the-lead-with-ajax-support-among-browsers-more-efficient-streaming.html |arxiudata=2007-03-18}}</ref>
=== Java pushlet ===
Un pushlet és una tècnica desenvolupada originalment per a aplicacions web sobre [[plataforma Java|Java]], encara que les mateixes tècniques poden ser emprades, en altres frameworks web. En aquesta tècnica, el servidor pren avantatge de les connexions persistents HTTP i deixa la resposta al client "oberta" (és a dir, no l'acaba), deixant al browser en un continu estat de "càrrega" en el moment que la pàgina inicial hauria d'haver estat completada. El servidor, després, utilitza periodicamentperiòdicament rutines de javascript per actualitzar el contingut de la pàgina, aconseguint d'aquesta manera, la capacitat de push.
Fent servir aquesta tècnica, el client no necessita [[applets]] Java o altres plug-ins per mantenir una connexió oberta amb el servidor. Els clients poden ser notificats automàticament de nous esdeveniments pel servidor.<ref>{{Ref-web [|url=http://www.pushlets.com/doc/whitepaper-toc.html |títol=Pushlets introduction] |consulta=2009-09-18 |arxiuurl=https://web.archive.org/web/20090805055526/http://www.pushlets.com/doc/whitepaper-toc.html |arxiudata=2009-08-05}}</ref><ref>[{{Ref-web |url=http://www.javaworld.com/jw-03-2000/jw-03-pushlet.html |títol=JavaWorld article about pushlets] |consulta=2009-09-18 |arxiuurl=https://web.archive.org/web/20131021064429/http://www.javaworld.com/jw-03-2000/jw-03-pushlet.html |arxiudata=2013-10-21}}</ref> Una important desavantatge d'aquest mètode, tanmateix, és la pèrdua del control que té el servidor sobre els temps d'expiració. Un refresc de la pàgina sempre és necessari si la pàgina expira o el browser és tancat.
</Ref> Una important desavantatge d'aquest mètode, tanmateix, és la pèrdua del control que té el servidor sobre els temps d'expiració. Un refresc de la pàgina sempre és necessari si la pàgina expira o el browser és tancat.
=== Long polling ===
Long polling és una variació de la tècnica tradicional de polling i permet emular informació col•locadacol·locada des d'un servidor a un client en forma similar al polling normal. Tanmateix, si el servidor no té informació disponible per al client, en comptes d'enviar una resposta buida, el servidor guarda la petició i espera a què alguna informació estigui disponible. Una vegada la informació està disponible (o després d'un temps establert), s'envia una espuestaresposta completa al client. Llavors el client normalment realitzarà una recomanda d'informació al servidor, perquè aquest sempre tingui una comanda en espera, que pot ser usat per respondre a un esdeveniment.
Long polling no és en si mateix una tecnologia push, però pot ser utilitzada sota circumstàncies on un push verdader no és possible.
El terme [[Comet]] ha estat usat per descriure les tecnologies push aplicades a les aplicacions web amb [[AJAX]]. Es tracta d'un [[terme global]] per a una combinació de tecnologies web com ''HTTP server push'' i ''long polling''.
== Referències ==
{{referències|2}}
== Enllaços externs ==
* [http://www.w3.org/Architecture/9709_Workshop/ W3C Push Workshop. A 1997 workshop that discussed push technology and some early examples thereof].
* [http://ajaxpatterns.org/HTTP_Streaming HTTP Streaming with Ajax] {{Webarchive|url=https://web.archive.org/web/20090415071059/http://ajaxpatterns.org/HTTP_Streaming |date=2009-04-15}} A description of HTTP Streaming from the Ajax Patterns website
* [http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#comms HTML 5 Draft with Server-sent events A mechanism for allowing servers to dispatch events, 2008 draft]
* [http://www.udaparts.com/document/Tutorial/httppush.htm HTTP Server Push at UDAParts A commercial grade Comet implementation] {{Webarchive|url=https://web.archive.org/web/20090805231006/http://www.udaparts.com/document/Tutorial/httppush.htm |date=2009-08-05 }}
* [http://code.google.com/p/google-web-toolkit-incubator/wiki/ServerPushFAQ Google Web Toolkit's Server Push FAQ Explains Server Push and how you can achieve this with GWT]
[[Categoria:Arquitectura d'Internet]] ▼
{{ORDENA:Tecnologia De Tramesa Automatica}}
[[de:Push-Medien]]
▲[[Categoria:Arquitectura d'Internet]]
[[en:Push technology]]
[[es:Tecnología Push]]
[[fr:Server push]]
[[ja:Push技術]]
[[ko:푸시 기법]]
[[pt:Tecnologia Push]]
[[ru:Технология Push]]
|