Newsgroup: it.comp.lang.javascript
Titolo: ajax e chiamate cord fuori dalla porta 80.

usando firefox, sto sperimentando delle chiamate cord verso la porta 8000.
 
la pagina web originale viene inoltrata dal server locale con questo header:
cloc3@dell ~ $ GET -ed localhost
200 OK
Connection: close
Date: Thu, 04 Sep 2014 05:31:22 GMT
Accept-Ranges: bytes
ETag: "2cabe5-8c0-501ef11ef3c4d"
Server: Apache
Content-Length: 2240
Content-Type: text/html
Last-Modified: Sun, 31 Aug 2014 16:06:33 GMT
Access-Control-Allow-Methods: GET
Access-Control-Allow-Origin: *
Client-Date: Thu, 04 Sep 2014 05:31:22 GMT
Client-Peer: 
127.0.0.1:80
 
Client-Response-Num: 1
Link: <css/stile.css>; rel="stylesheet"; type="text/css"
Link: <css/layout.css>; rel="stylesheet"; type="text/css"
Link: <css/menu.css>; rel="stylesheet"; type="text/css"
Title: adxl345
 
il client, successivamente, richiede contenuti via AJAX a un dominio diverso.
ho osservato che i contenuti sono ricevuti da firefox solo se la richiesta accede alla porta 80, e sono bloccati, con inequivocabile messaggio in console, se la richiesta è diretta alla porta 8000.
cosa posso fare per aggirare il problema?

scusate.
 
ritiro il post.
alla fine le cose hanno cominciato a funzionare.
e non so neppure che cosa ho toccato.
esiste un modo per eliminare i post inutili da questa mailing list?

per fortuna forse ho capito il fenomeno.
 
provo a postare la soluzione, casomai possa servire a qualcuno.
il problema stava nel fatto che la richiesta ajax era ricorsiva.
di conseguenza, avrei dovuto curare anche gli header di risposta del secondo server.
 
un configurazione mimale che nel mio sistema (arduino) funziona utilizza questa sequenza di linee:
 
    client.println("HTTP/1.1 200 OK");
    client.println("Access-Control-Allow-Origin: *");
    client.println("");


� un newsgorup non una mailing list, puoi provare a cancellare dal 
server (usando il cancella dal tuo newsreader), ma conta molti server se 
ne fregano, quindi potresti non vederla + sul tuo, ma trovarla presente 
su altri.
Cmq normalmente le chiamate ajax crossdomain (a prescindere dalla porta) 
sono bloccate sui browser moderni, � curioso che ti funzionino senza 
accorgimenti (es proxy).
 
-- 
Z.

si grazie.
 
nel titolo ho scritto cord, ma scusatelo ...
:)
 
come puoi leggere nel seguito, ho risolto il mio problema.
tranne forse un dubbio che non mi convince.
 
firefox risponde solo se la risposta del secondo server usa la wildcard:
client.println("Access-Control-Allow-Origin: *");
 
sostituendo l'asterisco con il nome esplicito del server cercato firefox lo blocca. secondo me non dovrebbe.

 sostituendo l'asterisco con il nome esplicito del server cercato firefox lo blocca. secondo me non dovrebbe.
 
La wildcard ha un comportamento speciale.
Se usi un altro valore, innanzitutto deve essere l'URL completo
(protocollo, porta, e quant'altro), non il nome del server.
 
L'header Origin della request deve combaciare con l'allow origin della
risposta:
 
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
 
 
Qui qualche esempio live, che puoi confrontare con il tuo:
 
http://arunranga.com/examples/access-control/