Se sei un utente Linux le cui intuizioni sono fortemente alleate con la tecnologia web allora il concetto di MIME i tipi dovrebbero essere impressi nel tuo DNA .
MIME i tipi aiutano a identificare i formati di file e i contenuti formattati durante la loro trasmissione su Internet o qualsiasi altra rete definita dall'utente.
Mentre su un browser web si riceve un file inviato dal server web tramite HTTP prima che il browser web scelga un metodo adatto per visualizzare il file, il browser web consulterà prima il MIME tipi per determinare il tipo di file che sta per gestire.
Concettualizzazione dei tipi MIME
MIME o Tipi di estensioni di posta Internet multiuso , aiuta gli utenti di Internet a standardizzare la classificazione dei tipi di file. Per comprendere i tipi MIME, esaminiamo un esempio di tipo MIME comune come il seguente:
text/html
In riferimento al MIME di cui sopra Digita esempio, possiamo notare che ha due parti (tipo e sottotipo ) che è un Tipo MIME chiave attributo. In questo caso, il testo è il tipo e html il sottotipo .
Altri tipi MIME comuni esempi includono quanto segue:
application/pdf application/zip application/xml text/xml text/csv text/plain multipart/form-data
Tieni presente che entrambi i tipo e sottotipo elementi di un Tipo MIME fanno distinzione tra maiuscole e minuscole. Hai ragione a presumere che il sottotipo parte di un Tipo MIME sono per lo più formati multimediali come pdf, xml, zip e csv. Tuttavia, il sottotipo MIME Type può contenere anche un suffisso o un prefisso dell'albero secondo il seguente formato MIME Type standard:
type "/" [tree "."] subtype ["+" suffix]
Un esempio di tipo MIME perfetto in riferimento al formato di tipo MIME completo sopra riportato è il seguente:
application/vnd.api+json
L'esempio sopra è l'API JSON formato di un tipo MIME specifico dell'API in cui il tipo è un'applicazione, il sottotipo è API, il prefisso del fornitore è vnd. e il suffisso è +json.
Determinazione del tipo MIME di un file in Linux
Mentre Tipi MIME hanno standardizzato la denominazione dei tipi di file e dei formati associati, questa funzionalità non è né archiviata né automatizzata nel filesystem Linux.
Per determinare correttamente il tipo MIME di un file di destinazione in Linux, dobbiamo riconoscere l'estensione del file e contenuti .
- Tipi MIME per estensione file – Se l'estensione del file manca o non è corretta, come nel caso in cui un file zip viene rinominato per avere un'estensione del file immagine JPG, determinare il tipo MIME in base all'estensione del file non avrà senso.
- Tipi MIME per contenuto del file – Le caratteristiche specifiche del contenuto del file come FF D9 e FF D8 le firme esadecimali nei file di immagine JPG aiutano a determinare il tipo MIME associato. Tuttavia, gli sforzi di I/O aggiuntivi utilizzati in questo approccio lo rendono più lento ma comunque affidabile.
Trova i tipi di file MIME usando il comando xdg-mime
Dal momento che xdg-utils il pacchetto ospita xdg-mime comando, dovrebbe essere disponibile in quasi tutte le distribuzioni del sistema operativo Linux. Determina il tipo MIME solo in base all'estensione del file.
La sua sintassi di riferimento è la seguente:
$ xdg-mime query filetype TARGETED_INPUT_FILE
Proviamo a determinare i tipi MIME dei seguenti file:
$ xdg-mime query filetype mypic.jpeg $ xdg-mime query filetype sample_file.txt
Possiamo anche rimuovere l'estensione del file immagine e ottenere comunque il suo tipo MIME tramite questo comando:
$ mv mypic.jpeg mypic $ xdg-mime query filetype mypic
Stampa tipi MIME di file utilizzando il comando file
Il comando file è un'installazione predefinita in quasi tutte le distribuzioni del sistema operativo Linux. Determina il tipo MIME di un file sia in base all'estensione del file che in base al contenuto del file.
La sua sintassi di riferimento/utilizzo è la seguente:
$ file --mime-type TARGETED_INPUT_FILE
Possiamo implementarlo nei due tipi di file mostrati come segue:
$ file --mime-type mypic.jpeg $ file --mime-type sample_file.txt
Rimuoviamo anche il JPEG estensione del file immagine e monitorare l'output di questo comando:
$ mv mypic.jpeg mypic $ file --mime-type mypic
xdg-mime vs file Precisione delle prestazioni dei comandi
Se cambiamo l'estensione del file di un file di testo casuale in un formato di file zip e controlliamo il tipo MIME di questo file utilizzando entrambi xdg-mime e file comandi, il file il comando sarà in grado di determinare correttamente il tipo MIME in base al contenuto del file.
$ mv output.txt output.zip $ file --mime-type output.zip $ xdg-mime query filetype output.zip
Ora possiamo determinare il Tipo MIME di un file basato sull'estensione del file, sul contenuto del file o su entrambi in Linux.