Tunneling e proxy server per Ajax e non solo

Lunedì 10 Dicembre, 2007

A causa della sua capacità di comunicare con il server, l’oggetto XmlHttpRequest (XHR), usato nella tecnologia Ajax (acronimo di Asynchronous JavaScript and XML, la cui pronuncia dovrebbe essere “egiacs” anche se noi italiani preferiamo “aiacs”), ha un blocco di protezione che gli impedisce di eseguire richieste esterne al dominio in cui opera. Questa protezione è necessaria per impedire Injection Javascript (tecniche di “iniezione” di codice estremamente pericoloso con lo scopo di violare il sistema) di svariato tipo, con l’obiettivo ultimo di “irrompere” nel sistema.
Questo limite è oggi tenuto in seria considerazione e si sta pensando, in qualche modo, di risolverlo - direttamente nell’oggetto XmlHttpRequest - senza pregiudicare la sicurezza (vedi anche: Third proposal for cross-site extensions to XMLHttpRequest ).

Comunque sia la situazione oggi è la seguente:

XHR 

Continua a leggere… »

RESTTest: utile estensione per FireFox

Venerdì 2 Novembre, 2007

RESTTest Ecco un’interessante estensione per FireFox (oggi rilasciata la patch 2.0.0.9) scritta da Kris Zyp. RESTTest permette di eseguire send e verificare le receive verso un URL utilizzando il protocollo REST, scegliendo tra i canonici metodi GET o POST (eventualmente personalizzabili).
RESTTest può essere utilizzato per verificare il funzionamento dell’oggetto XmlHttpRequest e quindi per testare le applicazioni che fanno uso di Ajax. Possiamo quindi simulare facilmente e velocemente richieste e risposte XHR.
Questa estensione è disegnata specificatamente per lavorare con risorse di tipo REST e supporta tutti i metodi HTTP.
Nel campo POST/PUT è possibile inserire tutti i parametri che intendiamo inviare alla nostra pagina di test, nella sintassi standard:

variabile1=valore1&variabile2=valore2&[...]variabilen=valoren

Questa estensione risulta utile anche nel test dei Feed RSS di un sito o nell’analisi dei paramteri di qualsiasi servizio RPC.

Riflettendo su Joost, Apollo e i Browser

Venerdì 20 Aprile, 2007

Perchè passare ad Apollo per visualizzare HTML e contenuto dinamico quando un browser già lo permette?

Perchè usare Joost per vedere la Net TV quando un browser già lo permette?

Perchè chi produce browser non ha inserito due semplici funzioni al loro interno:

  • Finestre Windowless
  • P2P Object

 

Finestre Windowless
Questa semplice caratteristica permetterebbe di sfruttare al meglio la connessione HTTP e di rendere davvero utili i browser. Poter aprire finestre (popup nella pratica) con il solo titolo e senza bordi, casomai in trasparenza, aumenterebbe la produzione di Widget da sfruttare con i normali browser, al pari di quello che fa oggi Apollo. Con uno studio attento sulla sicurezza (in quanto penso sia oggi l’unico motivo di questo limite) si aprirebbero scenari davvero interessanti.

 

P2P Object
Come tutti sappiamo oramai tutti i browser supportono l’oggetto XMLHttpRequest, che ha dato vita ad una quantità sconfinata delle cosiddette applicazioni Ajax. Questo oggetto, utilizzabile tramite Javascript, è in grado di fornire un canale HTTP - parallelo - gestibile tramite script client, sia per l’ìinvio che per la ricezione dati.
Primo o poi, come anticipato in vari altri Blog, Adobe inserirà un P2P all’interno di Flash. Perchè non fare la stessa cosa nei Browser? Un oggetto di questo tipo unito a funzionalità Windowless permetterebbe di creare applicazioni simil-Joost senza installare nulla sulla propria macchina, garantendo una cross-compatibilità degna di Internet, aumentando quindi anche l’efficienza della produzione (ad oggi Joost è sviluppato per ogni singolo sistema operativo, cosa assai gravosa - sia in termini economici che temporali - infatti le beta si susseguono…).

Insomma finestre con RSS FEED testo, audio e video da posizionare dove vogliamo sul nostro desktop, in vero standard W3C. Apertura si canali TCP direttamente da Javascript, con possibilità di scambio dati sconfinate. Evidentemente la volontà è poca e la “criminalità” è alta; hackers, Spam e Phishing sono in agguato e mosse di questo tipo terrorizzano un po’ tutti…

Web2.0: Gran Paradiso-Firefox 3.0 e Apollo

Lunedì 12 Marzo, 2007

È disponibile online la versione Alpha 2 di Firefox 3.0, nome in codice Gran Paradiso. Tra le novità annunciate (la versione definitiva è attesa per fine 2007) troviamo la possibilità di utilizzare il browser in modalità off-line. Tutto questo ricorda Adobe Apollo che, nonostante non si presenti come browser, ne evoca i tratti essenziali.

Continua a leggere… »

Web2.0: Adobe ci prova con Apollo?

Martedì 13 Febbraio, 2007

Apollo è il nome in codice (per ora) di un ambizioso progetto Adobe destinato al mondo  RIA (Rich Internet Applications) e Web2.0, Ajax compreso. A qualcuno ricorda Macromedia Contribute, a qualcun’altro Macromedia Central. C’è, altresì, chi vede in Apollo la mera unione -  o possibilità - di far convivere elementi Flash e PDF (cosa tra l’altro già fattibile con Flash Paper)!

Continua a leggere… »

Ajax senza HTTPRequest

Martedì 5 Dicembre, 2006

Come molti sviluppatori Web sanno, prima dell’avvento dell’oggetto XMLHttpRequest, il problema del ricaricamento di una pagina Web veniva risolto con la tecnica dei FRAME o IFRAME nascosti. Questo artifizio ha permesso per molti hanni di risolvere alcune problematiche di interfaccia altrimenti irrisolvibili. Un vantaggio nell’uso dei FRAME nascosti, tra l’altro, era la possibilità di mantenere l’HISTORY del browser! Cosa che l’oggetto XMLHttpRequest non permette.

Oltre a tecniche HTML che ricorrono a FRAME o IFRAME nascosti, esiste la possibilità di usare Flash come sub-canale di comunicazione tra la pagina e il Server. Alcune esperienze in tale direzione sono tuttora in sviluppo (vedi ad esempio Fjax). L’idea è quella di “nascondere” un filmato Flash all’interno della pagina HTML (come accadeva con i FRAME) e comunicare con esso tramite Javascript (o VBScript per il solo ambiente Microsoft).

Tuttavia questa tecnica nascoste una serie di insidie. Prima di tutto costringe l’utente finale ad installare il PlugIn di Flash, e quindi non rappresenta una soluzione HTML (pura) pulita. Inoltre richiede comunque l’uso spinto di Javascript come interfaccia tra Flash e la pagina, quindi tanto vale la pena usare l’oggetto XMLHttpRequest. Quando poi si inizia a scrivere un framework in ActionScript viene voglia di realizzare tutto in Flash. Ecco che la variante all’oggetto XMLHttpRequest comincia ad avere poco senso.
In definitiva se non si vuole usare l’oggetto XMLHttpRequest, conviene affidarsi all’ormai consolidata tecnica dei FRAME nascosti. Addirittura c’è chi usa proprio una tecnica mista: XMLHttpRequest + IFRAME!

Tuttavia, oramai, Ajax (nella forma dell’oggetto XMLHttpRequest) ha riscosso un così grande successo che in futuro l’oggetto XMLHttpRequest verrà sia supportato che migliorato dai produttori di browser (come Microsoft, Mozilla, Opera, ecc…). In pratica XMLHttpRequest diventerà un componente di default (come accade già in FireFox) all’interno del browser, raggiungibile via Javascript! Quindi perchè non usarlo?