2008-08-21 6 views
31

Ich entwerfe nur das Schema für eine Datenbanktabelle, die Details von E-Mail-Anhängen enthält - ihre Größe in Bytes, Dateiname und Inhaltstyp (d. H. "Image/jpg", "audio/mp3" usw.).Maximale Länge eines MIME Content-Type-Header-Felds?

Kennt jemand die maximale Länge, die ich erwarten kann, ein Content-Typ zu sein?

Antwort

42

Ich hoffe, ich habe nicht falsch gelesen, aber es sieht aus wie die Länge ist max 127/127 oder 255 insgesamt.

RFC 4288 hat einen Verweis auf 4.2 (Seite 6):

Type and subtype names MUST conform to the following ABNF: 

    type-name = reg-name 
    subtype-name = reg-name 

    reg-name = 1*127reg-name-chars 
    reg-name-chars = ALPHA/DIGIT/"!"/
        "#"/"$"/"&"/"."/
        "+"/"-"/"^"/"_" 

Es mir nicht klar ist, ob die + Suffix vorbei an der 127 hinzufügen können, aber es scheint nicht.

+0

ich froh wäre, wenn @ ian-nelson (oder @speaker) Nummer 255 in dieser Antwort hervorheben könnte. –

+1

@ ŁukaszSiwiński gefällt das? –

+0

yup, das ist ok, vielen Dank! –

1

Wir betreiben ein SaaS-System, mit dem Benutzer Dateien hochladen können. Wir hatten es ursprünglich entworfen, um MIME-Typen mit bis zu 50 Zeichen zu speichern. In den letzten Tagen haben wir mehrere Versuche zum Hochladen von 71-Byte-Typen gesehen. Also, wir wechseln zu 250. 100 schien "gut", aber es sind nur ein paar mehr als das Maximum, das wir jetzt sehen. 500 scheint albern, also 250 ist der Auserwählte.

5

In RFC 6838, der neueste Standard ist und obsoletes RFC4288, gibt es eine folgende Aussage.

"Beachten Sie auch, dass, während diese Syntax Namen von bis zu 127 Zeichen erlaubt, Implementierungsbeschränkungen solche langen Namen problematisch machen können. Aus diesem Grund SOLLTEN <type-name> und <subtype-name> auf 64 Zeichen begrenzt werden."

64 + 1 + 64 = 129.

Aber ich vermute, dass die Standard-63 bedeuten sollte + 1 + 63 = 127.

Link: https://tools.ietf.org/html/rfc6838#section-4.2

+0

Wäre nützlich, um zu den RFC-Seiten zu verknüpfen. – transilvlad