Lunghezza massima di un campo di intestazione Content-Type MIME?


31

Sto solo progettando lo schema per una tabella di database che conterrà i dettagli degli allegati di posta elettronica - le loro dimensioni in byte, nome file e tipo di contenuto (ad esempio "immagine/jpg", "audio/mp3", ecc.).

Qualcuno conosce la lunghezza massima che posso aspettarsi da un tipo di contenuto?

42

Spero di non aver letto male, ma sembra che la lunghezza sia max 127/127 o 255 totale.

RFC 4288 ha un riferimento a 4.2 (pagina 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/"!"/
        "#"/"$"/"&"/"."/
        "+"/"-"/"^"/"_" 

Non mi è chiaro se il suffisso + può aggiungere oltre il 127, ma non sembra.

  0

Sarei contento se @ ian-nelson (o @speaker) potrebbe sottolineare il numero 255 in questa risposta. 18 feb. 132013-02-18 14:37:39

+1

@ ŁukaszSiwiński così? 18 feb. 132013-02-18 15:44:29

  0

sì, va bene, grazie mille! 21 feb. 132013-02-21 23:34:41

  0

@IanNelson Perché questa non è la risposta accettata? 13 mar. 142014-03-13 20:10:55

+1

@lankymart è ora. 14 mar. 142014-03-14 09:07:26


1

Eseguiamo un sistema SaaS che consente agli utenti di caricare file. Lo avevamo originariamente progettato per memorizzare tipi MIME fino a 50 caratteri. Negli ultimi giorni abbiamo visto diversi tentativi di caricare tipi di 71-byte. Quindi, stiamo passando a 250. 100 sembravano "buoni", ma sono solo alcuni di più del massimo che stiamo vedendo ora. 500 sembra sciocco, quindi 250 è quello selezionato.


5

In RFC 6838, che è l'ultimo standard e obsolete RFC4288, c'è una dichiarazione seguente.

"Si noti inoltre che, mentre questa sintassi consente nomi di fino a 127 caratteri, limiti di attuazione potrebbero effettuare nomi lungo problematico. Per questo motivo, <type-name> e <subtype-name> dovrebbero essere limitate a 64 caratteri."

64 + 1 + 64 = 129.

Ma ho il sospetto la norma dovrebbe significare 63 + 1 + 63 = 127.

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

  0

Sarebbe utile per il collegamento alle pagine RFC. 10 mag. 162016-05-10 13:45:51