Una reescritura de URL es una operación del lado del servidor que traduce internamente una URL solicitada a una ruta o recurso diferente sin que el navegador sea consciente del cambio. A diferencia de una redirección, que envía al navegador a una nueva URL, una reescritura ocurre completamente en el servidor: la barra de direcciones del navegador continúa mostrando la URL original mientras el servidor sirve contenido desde una ubicación diferente.
Las reescrituras de URL se configuran comúnmente en software de servidor web como Apache (usando mod_rewrite) o Nginx (usando directivas rewrite). Permiten URL limpias y amigables para el usuario que se mapean a rutas backend complejas. Por ejemplo, una solicitud para "/productos/zapatos" podría reescribirse internamente a "/index.php?category=zapatos" sin que el usuario vea la cadena de consulta. Los libros sobre configuración de servidores web en Amazon proporcionan ejemplos detallados.
La diferencia clave entre reescrituras y redirecciones es la visibilidad. Una reescritura es invisible para el cliente y ocurre en un solo ciclo de solicitud-respuesta. Una redirección envía una respuesta indicando al cliente que haga una nueva solicitud a una URL diferente, resultando en dos ciclos de solicitud-respuesta y un cambio visible de URL en el navegador.
En el acortamiento de URL, las reescrituras son menos comunes que las redirecciones porque el objetivo es normalmente enviar al usuario a una URL de destino externa, lo que requiere una redirección. Sin embargo, las reescrituras pueden usarse internamente dentro de la infraestructura del servicio de acortamiento para enrutar solicitudes a diferentes manejadores backend. Los libros sobre arquitectura de sistemas en Amazon discuten patrones de enrutamiento.