Если потенциальный HTTP-сервер, написанный на Python2.6, имеет локальный доступ к файлу, каков будет наиболее правильный способ для этого сервера вернуть файл клиенту по запросу?
Допустим, это текущая ситуация:
header('Content-Type', file.mimetype)
header('Content-Length', file.size) # file size in bytes
header('Content-MD5', file.hash) # an md5 hash of the entire file
return open(file.path).read()
Все файлы представляют собой архивы .zip или .rar размером не более пары мегабайт.
В текущей ситуации браузеры странно обрабатывают входящую загрузку. Например, ни один браузер не знает имени файла, поэтому он использует случайное или стандартное имя. (Firefox даже сохранил файл с расширением .part, хотя он был полным и полностью пригодным для использования.)
Каков наилучший способ исправить эту и другие ошибки, о которых я даже не подозреваю?
Какие заголовки я не отправляю?
Спасибо!