Пишем свой HTTP сервер. Распознать download файла.
От: Dimatec  
Дата: 10.06.17 15:06
Оценка: -1
В HTML есть такие теги:

<a download href= ...>
и
<a href= ...>

по первому тегу браузер должен понимать, что он будет загружать файл по указанной ссылке.
Но на самом деле это зависит от того, какой ответ отдаст web-сервер.
Он может так отдать файл, как содержимое, которое браузер должен открыть в свое окне, а не скачать.

Но как понять web-серверу, что клиент именно жмакнул по ссылке, чтобы скачать файл?

Вот, к примеру, запросы которые приходят в web-сервер

GET / HTTP/1.1..Accept: text/html, application/xhtml+xml, */*..
GET /www/files/file.txt HTTP/1.1..Accept: text/html, application/xhtml+xml, */*..

первый это просто запрос страницы по умолчанию
Второй это по ссылке <a download href= ...> или <a href= ...>

как видим второй запрос не отличается от того, жмем ли мы по ссылке, чтобы открыть ее или скачать файл.

Как быть?
Неужели парсить подстроку идущую после GET /www/files/file.txt на предмет поиска расширения файла.
И к примеру если хвост будет не .htm или .html или другое предопределенное расширение, то значит считать, что пришел запрос на загрузку файла?
Как-то неудобно...
Не могли что ли изобретатели html в запрос встроить ключевые слова...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.