Parece que hay dos maneras distintas para poner en práctica las peticiones condicionales utilizando cabeceras HTTP, los cuales pueden ser utilizados para el almacenamiento en caché, las solicitudes de intervalo, control de concurrencia, etc ...:¿Qué sentido tiene If-Unmodified-Since/If-Modified-Since? ¿No están reemplazados por ETags?
- Si-no modificado-Dado y Si -Modificado: desde, donde el cliente envía un marca de tiempo del recurso.
- If-Modified y If-None-Modified, donde el cliente envía una representación ETag del recurso.
En ambos casos, el cliente envía una pieza de información que tiene sobre el recurso, que permite al servidor para determinar si el recurso ha cambiado desde el último cliente lo vio. El servidor luego decide si ejecutar la solicitud dependiendo del encabezado condicional proporcionado por el cliente.
No entiendo por qué hay dos enfoques diferentes disponibles. Sin duda, los ETags sustituyen a las marcas de tiempo, ya que el servidor podría elegir fácilmente generar ETags a partir de marcas de tiempo.
Por lo tanto, mis preguntas son:
- En qué escenarios puede ser que usted a favor de Si-no modificado-Desde/If-Modified-Since sobre ETags?
- ¿En qué escenarios podría necesitar ambos?
Aunque es potencialmente tangencial, hay otra manera de hacer una solicitud condicional: If-Range. Puede usar un ETage o una marca de tiempo. –