Los protocolos, por dentro
Cómo se intercepta un esquema propio en cada motor, por qué la forma de las URL difiere entre sistemas, y qué implica para tu código.
Cómo se intercepta
Y la fila del medio es la que explica la mitad de las sorpresas del nivel 10.1: el origen de tu página no tiene la misma forma en las tres plataformas porque el mecanismo de interceptación no es el mismo.
Por qué eso importa
Y lo que ya viste desde arriba, ahora con la causa:
Las cuatro se explican con la misma causa, y por eso el nivel 48.1 recomendaba mover la red al core: el core no tiene origen y no le afecta nada de esto.
Escribir un manejador que funcione en los tres
Y lo práctico, para el esquema propio del nivel 31.2:
- No supongas la forma de la URL. Extrae lo que necesitas con un analizador, no partiendo cadenas — y ten en cuenta que puede venir como esquema o como dominio.
- Devuelve las cabeceras correctas, incluido el tipo de contenido, o el motor no sabe qué hacer con lo que le das.
- Y ten en cuenta el origen al declararlo en la política de contenido: es lo que el nivel 31.2 avisaba de que se olvida.
Y una advertencia de rendimiento: el manejador se ejecuta por cada petición, incluidas las de recursos que el motor pide en paralelo. Nivel 31.2: rápido o con caché.
Lo que se puede hacer con esto
Y las tres cosas que un esquema propio permite y que merecen conocerse:
- Servir contenido generado sin pasar por el puente. Nivel 31.2.
- Servir con lógica: comprobar, decidir, cachear.
- Y servir en flujo, para contenido grande —vídeo, ficheros— que el motor puede consumir por partes sin cargarlo entero. Nivel 40.3.
El tercero es el que más gente desconoce y el que resuelve mejor el caso de mostrar ficheros grandes: el motor pide trozos y tú los sirves, sin que nada pase por memoria entera ni por el puente.