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.