Quale meccanismo / protocollo trasmette file non HTML quando scaricati dal web?

1

Quando un file non HTML come PDF, DOCX, EXE, ecc viene reso pubblico al WWW da un server HTTP e un client effettua una richiesta per detto file,

www.example.com/download?=test.doc

cosa facilita il trasferimento dei file sul client?

È trasmesso su HTTP o su un altro protocollo? In quale formato o codifica sono rappresentati i dati?

Mi piacerebbe anche sapere come alcune implementazioni di download di file possono trasmettere il file e contemporaneamente inviare una risposta HTTP contenente solo l'intestazione (ad esempio, content-disposition) che mi indica che il corpo di risposta vuoto non era la nave per il file.

    
posta jmrjulian 07.11.2015 - 10:17
fonte

1 risposta

4

Sì, viene trasferito tramite HTTP. Il tuo URL di esempio oscura il fatto perché hai omesso lo schema (il " http: " iniziale), ma se inserisci un url senza uno schema in un browser web, verrà impostato come predefinito su http, quindi l'url è in realtà :

http://www.example.com/download?=test.doc

Una risposta HTTP contiene un'intestazione e un payload e il carico utile può essere di dati in qualsiasi formato: html, javascript, css, immagini o qualsiasi altro formato di file, inclusi doc o exe. A livello HTTP, un payload HTML e un payload DOC vengono trattati esattamente allo stesso modo. Dal punto di vista del cliente, ovviamente, saranno trattati in modo diverso: il codice HTML o le immagini verranno visualizzate nel browser mentre un documento (a seconda della configurazione) farà sì che il browser avvii un'applicazione esterna come Word. Ma questo è a discrezione del cliente e non rientra nell'ambito di http.

L'intestazione content disposition in realtà non cambia il modo in cui il payload viene trasferito via http, ma solo un suggerimento al client su come gestire il payload quando viene ricevuto. Può indicare che all'utente deve essere richiesto di salvare il payload come file locale, piuttosto che eseguire il rendering / elaborazione del payload come predefinito. Ma il meccanismo di trasferimento è lo stesso.

    
risposta data 07.11.2015 - 11:13
fonte

Leggi altre domande sui tag