redirectmatch redirecciones redireccionamientos redireccion que los htaccess entre diferencia cuál redirect client webserver

redirecciones - redirect 302



Prácticas recomendadas para redirecciones del lado del cliente frente al servidor: ¿Cuándo usar qué? (3)

El ejemplo de JavaScript en realidad no es una redirección . No hay medios para una respuesta 301/302 . Es solo una simple solicitud que ocurre durante un cierto evento de Javascript mucho tiempo después de que se recibe la página. Si lo hace durante la carga de la página, entonces tendría más sobrecarga que una redirección real y no funcionaría también en los navegadores con JS deshabilitado.

Los redireccionamientos deben iniciarse desde el lado del servidor con una respuesta 301/302. Todos los lenguajes / marcos de la aplicación web están predeterminados en 302. Por lo general, puede hacer que sea 301 agregando un parámetro adicional o una línea de código que indique eso. El beneficio de 301 es por la forma en que los robots de búsqueda no indexarán (ya) la solicitud en particular.

Entiendo que la mayoría de los idiomas son compatibles con las redirecciones del lado del servidor (asp.net: Response.Redirect, PHP: header( ''newpage'' ) ; ) . También puede hacer una redirección con JavaScript (window.location.href="newLocationURL") .

¿Cuándo elegirías uno sobre el otro?

Con respecto a la agrupación de aplicaciones ASP.net/IIS7( en modo Integrado, habilite las aplicaciones de 32 bits = falso), noté que incluso cuando la página tiene un encabezado 302, todo el cuerpo de la página se envía al lado del cliente.

Y creo que este no es el caso con PHP , solo se envían encabezados? Para citar Redirigir en el lado del cliente significa los siguientes pasos: Lado del cliente -> Lado del servidor -> Lado del cliente -> Lado del servidor -> Lado del cliente.

Redirigir en el lado del servidor significa: lado del cliente -> lado del servidor -> lado del cliente (solo encabezados) * -> lado del servidor -> lado del cliente.

¿Existe una implementación de redireccionamiento del lado del servidor o del estándar W3C diferente de una tecnología de servidor web a otra?

Edición: solo me preocupa Response.Redirect (en asp.net) y no server.transfer, al menos para esta discusión


En ASP.Net, hay una distinción importante entre dos tipos de redirecciones del lado del servidor. Son Response.Redirect y Server.Transfer.

Si llama a Response.Redirect , esto implica dos viajes de ida y vuelta al servidor. En la primera llamada al servidor, la respuesta del servidor le indica al navegador que solicite la página siguiente. Solicitar que la página siguiente constituya el segundo viaje de ida y vuelta al servidor web.

Si usa Server.Transfer , solo hay un viaje de ida y vuelta. Por lo tanto, hay mucho menos tráfico de red. Sin embargo, hay una limitación para usar Server.Transfer, que es que la página de destino debe estar en el mismo servidor web. Es decir, no puede Server.Transfer desde su aplicación web a www.Google.com. Pero puedes Response.Redirigir a él.

Hay otros detalles relacionados con el uso de cualquiera de estos enfoques que querría investigar antes de usarlos. Sin embargo, creo que es importante en el contexto de esta pregunta tener en cuenta que en cualquier idioma, Response.Redirect puede resultar en un tráfico de red mucho más pesado del que es realmente necesario.


Realmente depende de dónde decidas que necesitas redirigir. Si es el código del lado del servidor lo que determina que tiene que redireccionar, entonces es el código del lado del servidor que emite el comando de redirección. Si puede decidir del lado del cliente que se necesita una redirección, hágalo desde el código del cliente.

Probablemente sea más eficiente desde el punto de vista del cliente, ya que se evita el redireccionamiento del lado del servidor.