Redbot reporta que mi página web tiene cabecera válida:Sintaxis para ETag?
sintaxis de la cabecera ETag no es válido.
Los encabezados se establecen en:
ETag: 4ae413bd
¿Por qué es inválida?
¿Cuál es la sintaxis para una ETag?
Redbot reporta que mi página web tiene cabecera válida:Sintaxis para ETag?
sintaxis de la cabecera ETag no es válido.
Los encabezados se establecen en:
ETag: 4ae413bd
¿Por qué es inválida?
¿Cuál es la sintaxis para una ETag?
Trate ETag: "4ae413bd"
. El valor de un ETag debe seguir el ABNF formulario:
entity-tag = [ weak ] opaque-tag
weak = "W/"
opaque-tag = quoted-string
quoted-string = (<"> *(qdtext | quoted-pair) <">)
qdtext = <any TEXT except <">>
quoted-pair = "\" CHAR
CHAR = <any US-ASCII character (octets 0 - 127)>
TEXT = <any OCTET except CTLs, but including LWS>
OCTET = <any 8-bit sequence of data>
LWS = [CRLF] 1*(SP | HT)
CTL = <any US-ASCII control character (octets 0 - 31) and DEL (127)>
CRLF = CR LF
CR = <US-ASCII CR, carriage return (13)>
LF = <US-ASCII LF, linefeed (10)>
SP = <US-ASCII SP, space (32)>
HT = <US-ASCII HT, horizontal-tab (9)>
, que es básicamente ([wW]/)?"([^"]|\\")*"
en regular de expresiones regulares.
Tenga en cuenta que tanto "\"
como "/"
son valores válidos para los etags.
Referencias: section-14.19, section-3.11, section-2.2.
"Un ETag es un identificador opaco asignado por un servidor web a una versión específica de un recurso que se encuentra en una URL". Esto significa que puede ser prácticamente cualquier cosa.
El problema es, probablemente, la sintaxis, el uso:
ETag: "4ae413bd"
Como mencionó Arnaud, asegúrese de haber cotizado el valor.
reemplazar
new EntityTagHeaderValue("0");
con
new EntityTagHeaderValue("\"0\"");
Aunque HTTP 1.1 permite ' "\" ', el proyecto de HTTP 1.1 bis no lo hace. En 2007, el W3C consideró este tema - vea http://www.w3.org/Protocols/HTTP/1.1/rfc2616bis/issues/#i31 - y decidió que la gramática era incorrecta. Se corrigió en el borrador 04. Puede ver la edición en http://greenbytes.de/tech/webdav/draft-lafon-rfc2616bis-04.html#rfc.issue.i31-qdtext-bnf. Por lo tanto, siempre que el HTTP 1.1 bis finalmente se envíe (suponiendo que lo haga) '" \ "' ya no será válido, por lo que sería prudente evitarlo, aunque técnicamente está permitido hoy. –
@IanGriffiths, ¿cuál es la fecha de envío estimada? – Pacerier
Creo que el plan es que se presente como un estándar propuesto en septiembre de 2013. (La última llamada del grupo de trabajo pertinente debía cerrarse a principios de este año, y creo que siguió adelante como estaba previsto). No creo hay un plan sobre cuánto tiempo le lleva pasar de "propuesto" a completamente desarrollado; creo que eso depende de cosas que solo se vuelven aparentes más adelante (por ejemplo, la tasa de adopción, si se encuentran problemas). –