No tener una correcta configuración del proxy cuando se usa XMLHttp algunos enlaces no son generados y no funcionará correctamente el sitio web.
Ejemplo de URL XMLHttpRequests: http://dominio.com/shopping/Articles.xhtml
Configuración de Nginx para servir aplicaciones en GlassFish usando peticiones XMLHttp.
server { listen 8080; server_name domain.com; client_max_body_size 4G; access_log /var/log/nginx/nginx-access.log; error_log /var/log/nginx/nginx-error.log; location / { proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; send_timeout 300; proxy_pass_request_headers on; proxy_no_cache $cookie_nocache $arg_nocache$arg_comment; proxy_no_cache $http_pragma $http_authorization; proxy_cache_bypass $cookie_nocache $arg_nocache $arg_comment; proxy_cache_bypass $http_pragma $http_authorization; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host:$server_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; add_header Access-Control-Allow-Origin *; proxy_set_header Access-Control-Allow-Origin *; proxy_redirect /shop/ https://domain.com:8080/shop/; # Xmlhttprequest. proxy_pass https://127.0.0.1:8080; } }
XMLHttpRequest (XHR): Referida como XMLHTTP (Extensible Markup Language / Hypertext Transfer Protocol), es una interfaz empleada para realizar peticiones HTTP y HTTPS a servidores Web. Para los datos transferidos se usa cualquier codificación basada en texto, incluyendo: texto plano, XML, JSON, HTML y codificaciones particulares específicas. La interfaz se implementa como una clase de la que una aplicación cliente puede generar tantas instancias como necesite para manejar el diálogo con el servidor.
El uso más popular, si bien no el único, de esta interfaz es proporcionar contenido dinámico y actualizaciones asíncronas en páginas web mediante tecnologías construidas sobre ella como por ejemplo AJAX.