Creo que incluso ahora no comprenden totalmente la cruz-dominio.
- Entre dominios es un comportamiento del navegador
- De hecho, la solicitud de dominios cruzados se enviará al servidor
- Del lado del servidor problema entre dominios puede ser resuelto por los coros del cliente
- nginx revertir configuración de proxy para resolver problemas entre dominios
- Protocolo, nombres de dominio, los puertos se tienen en cuenta, tales como el acceso http://11.11.11.11:8888/index.html http://11.11.11.11:8899/interface habrá problemas entre dominios
Estos son de sentido común, diría que hoy en día es una diferencia en el IE y Chrome encontré que para el último de lo anterior, el nombre de dominio es en el caso de localhost. A ver si al grano.
Permítanme hablar de la conclusión:
- Bajo otro Chrome, http: // localhost: 8888 / index.html visita http: // localhost: 8899 / interfaz será cuestiones entre dominios, y en esto es, no lo hará.
¿Cómo puedo demostrar que?
Escribí el siguiente programa simple nodo
// server.js
// 需要安装npm i --save express cookie-parser
var express = require('express');
var cookieParser = require('cookie-parser');
var app = express();
app.use(cookieParser());
app.all('*', function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'X-Requestd-With');
res.header('Access-Control-Allow-Method', 'PUT, POST, GET, DELETE, OPTIONS');
});
app.get('/', function(req, res) {
console.log('Cookies:', req.cookies);
res.cookie('newdate', new Date(), {maxAge: 600000});
});
app.listen(8888);
// index.html
// 需要安装npm i --save-dev http-server,用来host index.html页面
<!doctype html>
<html
<head></head>
<body>
<button id="btn">click</button>
<script>
var btn = document.getElementById('btn');
btn.onclick = function() {
var xhr = new XMLHttpRequest();
xhr.open('http://localhost:8888');
xhr.send();
}
</script>
</body>
</html>
http: // localhost: 8888 cada vez que a petición, la cookie será impreso hacia afuera para facilitar la observación.
De hecho, este descubrimiento hizo no sirve de mucho, sólo quiero grabarlo :)