2015-05-29 23 views
5

Kiedy serwer WWW zgłasza ContentType: tekst/zwykły w odpowiedzi HTTP, czy klient może założyć, że znaki nowej linii to "\ n" lub "\ r \ n", czy może coś innego?Jaki jest poprawny znak nowej linii do użycia z tekstem/zwykłym tekstem ContentType?

Jakie normy określają? Jestem zagubiony i zdezorientowany wśród standardów. Wydaje się, że RFC 2046 definiuje "prosty" podtyp, ale odnosi się do RFC 822.

Przeszukałem RFC 822, ale jestem zdezorientowany tym, czy mówi on, że CRLF (\ r \ n) jest jawnie niedozwolone (w treści wiadomości) lub czy CRLF powinno być domyślnie dozwolone, ponieważ dowolny znak ASCII jest legalny po pustym wierszu?

RFC 5322 definiuje "format wiadomości internetowych" i nie jestem pewien, czy to dotyczy HTTP (wydaje się, że jest przeznaczony do wiadomości e-mail), ale mówi konkretnie TYLKO CR lub LF w treści wiadomości, które powinieneś zobaczyć, to Kombinacja CRLF ..?

Odpowiedz

3

RFC 2046 sekcja 4.1.1 mówi:

„kanoniczne postaci dowolnej MIME«text»podtyp musi zawsze stanowią przerwy linii co sekwencji CRLF Podobnie, każde wystąpienie CRLF w MIME.«Text»musi reprezentować przerwanie wiersza Zabrania się używania CR i LF poza sekwencjami przerywania linii. "

Szczerze mówiąc, jeśli używasz tego do celów parsowania lub wyświetlania, nie będę na nim polegał. Większość serwerów WWW ustawi typ zawartości z rozszerzenia pliku, więc każdy plik Unixy z rozszerzeniem .txt otrzyma tekst/zwykły typ zawartości (nielegalnie, aż do powyższego akapitu).