3
http1.1 표준 인 rfc2616에서 인용 문자열은 다음과 같이 정의됩니다. 이 정의 "\"와 http1.1의 인용 문자열에 대한 정확한 구문과 의미는 무엇입니까 rfc2616
quoted-string = (<"> *(qdtext | quoted-pair) <">)
uoted-pair = "\" CHAR
CHAR = <any US-ASCII character (octets 0 - 127)>
qdtext = <any TEXT except <">>
TEXT = <any OCTET except CTLs, but including LWS>
은 TEXT 것 같다, 따라서 <는 ">는 \ <는"> (따옴표, 백 슬래시는 따옴표)는 올바른 인용 문자열이 될 것으로 보인다. 그러나 이는 백 슬래시가 이스케이프 문자로 올바르게 사용되는 것과 모순되며 따옴표로 묶인 문자열의 끝을 명확하게 결정할 수 없게 할 수도 있습니다. 여기에 내 오류는 어디에 있습니까?
은 RFC는 심지어 LWS 내부 인용 문자열은 SP로 대체 될 수있는 해석을 읽고
LWS = [CRLF] 1*(SP | HT)
All linear
white space, including folding, has the same semantics as SP. A
recipient MAY replace any linear white space with a single SP before
interpreting the field value or forwarding the message downstream.
말한다. 만약 내가 rfc 문자 그대로 받아 들인다. 나는 인용 부호로 둘러싼 문자열 "", "\ n", "\ n \ t \ t \ t", ...이 모두 같기 때문에 이것에 의아해합니다. 인용 된 문자열이 의미 론적으로 구별되지 않을 수 있습니까?
이것은 이스케이프 문제에 대한 답변입니다. LWS 의미론 문제는 무엇입니까? – johannes
먼저이 Q & A를 해준 덕분에 도움이되었습니다. 직장에서 나는 [요약] (https://evolvis.org/pipermail/evolvis-platfrm-discuss/2014-November/000675.html)을 보냈습니다. @ 요하네스 그렇습니다. '$ '\ t''는'$'\\ \\ \\\ t''가됩니다. (또는 더 시각적 인 표현을 원한다면' · · →''\ "\"\ "")가되며, 개행 문자와 다른 제어 문자가 사라집니다. – mirabilos