LINUX.ORG.RU

Http-прткл. Скачивание файла.


0

0

1. При запросе файла по HTTP может ли в ответе не прийти Content-length: %d?

2. При запросе файла по HTTP и приходе в ответе Content-length: %d. По идее клиент имеет право рассоединиться с сервером нах после прихода заявленных %d байтов. А как на практике чаще делается?

> 1. При запросе файла по HTTP может ли в ответе не прийти Content-length: %d?

Да, может не придти. Попробуй запросить хотя бы заглавную страницу ЛОРа.

> 2. При запросе файла по HTTP и приходе в ответе Content-length: %d. По идее клиент имеет право рассоединиться с сервером нах после прихода заявленных %d байтов. А как на практике чаще делается?

Возьми сорсы wget да посмотри :)

gaa ★★
()
Ответ на: комментарий от irc_007_1

> Терпеливо принимать всё, что дают?

be loose in what you accept, and strict in what you send

dilmah ★★★★★
()

1. может. более того, может даже прийти «content-lenght: kill me, i'm an idiot!»

2. при явно указаном content-length и если соединение не http/1.1-keep-alive, то отсоединяемся после получения content-length байтов без дополнительных проверок.

mirage
()

1. вполне. все качальщики (wget, opera, firefox) терпеливо тащат файл до момента обрыва соединения

2. keep-alive соединения часто устанавливаются браузерами - тогда без необходимости разрыва, они прокачивают все данные, нужные для страницы. если нужно скачивать один файл - то можно рвать коннект.

generatorglukoff ★★
()
Ответ на: комментарий от generatorglukoff

>терпеливо тащат файл до момента обрыва соединения

маленькое техническое буквоедство: или до graceful shutdown оного соединения, что в принципе «обрывом» не является. %-)

mirage
()

Если речь идет о HTTP/1.1, то нужно еще рассматривать вариант с Content-Transfer: chunked

Если есть возможность, лучше взять curl и не пиликать себе мозк.

anonymous
()
Ответ на: комментарий от anonymous

>нужно еще рассматривать вариант с Content-Transfer: chunked

по рассмотрении найти придурка, который это включил и четвертовать.

mirage
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.