Они не связаны между собой.
_
в js обычно ссылается на библиотеку http://underscorejs.org/
.
_
в вашем шаблоне html скорее ссылается на помощника, установленного в https://github.com/TAPevents/tap-i18n
пакет / библиотека для интернационализации.
Не были должны Вы просто использовать HTTP HEAD
запрос (Ruby Net::HTTP::Head
метод), чтобы видеть, там ли ресурс и только продолжается, если Вы добираетесь 2xx или 3xx ответ? Это предполагает, что Ваш сервер настроен для возврата 4xx код ошибки, если документ не доступен. Я утверждал бы, что это было правильным решением.
Альтернатива должна запросить голову HTTP и посмотреть на content-length
значение заголовка в результате: если Ваш сервер правильно настроен, необходимо легко смочь сказать различие в длине между коротким сообщением и длинным документом. Другая альтернатива: установите content-range
поле заголовка в запросе (который снова предполагает, что сервер ведет себя правильно WRT спецификация HTTP).
Я не думаю, что решение проблемы в клиенте после отправки ПОЛУЧИТЬ запроса, является способом пойти: к тому времени сеть сделала тяжелый подъем, и Вы действительно не сохраните потраченных впустую ресурсов.
Ссылка: определения заголовка http
Я хотел сделать это однажды, и единственной вещью, о которой я мог думать, является обезьяна, исправляющая Net::HTTP#read_body
и Net::HTTP#read_body_0
методы для принятия параметра длины, и затем в первом просто передают параметр длины read_body_0
метод, где Вы можете только для чтения так же как байты длины.
Вы уверены, что сервер содержания только возвращает короткую ошибочную страницу?
Не делает это также установило HTTPResponse
к чему-то соответствующему как 404. В этом случае можно захватить HTTPClientError
полученное исключение (скорее всего, HTTPNotFound
) который повышен при доступе Net::HTTP.value()
.
Если Вы получаете ошибку затем, Ваш файл не был там, если Вы добираетесь 200, файл начинает загружать, и можно закрыть соединение.
Для чтения тела Запроса HTTP в блоках необходимо будет использовать Net::HTTPResponse#read_body
как это:
http.request_get('/large_resource') do |response|
response.read_body do |segment|
print segment
end
end
Вы не можете. Но почему Вы должны? Конечно, если страница просто скажет, что файл не доступен затем, то это не будет огромная страница (т.е. по определению, файл не будет там)?