In un modulo a più parti (ad esempio Content-Type=multipart/form-data
), esiste un limite superiore sulla lunghezza della stringa limite che un server HTTP deve accettare?Form HTML multipart - lunghezza massima della stringa "boundary"?
Per quanto posso dire, gli RFC sull'argomento dicono 70 caratteri:
- RFC2616 (HTTP/1.1) sezione "3.7 Tipi di carta", afferma che i tipi consentiti nell'intestazione Content-Type è definito da RFC1590 (Procedura di registrazione del tipo di supporto).
- RFC1590 aggiornamenti RFC-1521 (MIME).
- RFC1521 afferma che un limite "non deve essere più lungo di 70 caratteri, senza contare i due trattini iniziali".
- Lo stesso testo appare anche in RFC2046 che si suppone obsoleti RFC1521.
Quindi posso essere certo che tutti i principali browser HTTP/1.1 là fuori aderiscano a questo limite? Esistono browser (o altri client/librerie HTTP) noti per superare questo limite?
C'è qualche altra specifica o regola empirica comune mi manca che dice che la stringa sarà più breve di di 70 caratteri? In Chrome (ium) ho qualcosa di simile a questo: ----WebKitFormBoundaryLu4dNSGEhJZUgoe5
, che è ovviamente più corto di 70 caratteri.
Sto chiedendo questa domanda perché il mio server è in esecuzione in un ambiente estremamente limitato di memoria, quindi "malloc un buffer abbastanza grande da contenere l'intera stringa di intestazione" non è una risposta ideale.
Chiedi un limite superiore. Naturalmente è possibile che non si ottenga il limite massimo completo ma inferiore (in relazione al limite Chrome). –
non dovrebbe esserci alcun problema se si utilizza AJAX e si elaborano i dati direttamente nel file PHP –
"contenere l'intera stringa di intestazione"? Perché l'intera intestazione, se hai solo bisogno del confine? –