Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.02.2016, 11:44
Новичок на форуме
Отправить личное сообщение для headerquest Посмотреть профиль Найти все сообщения от headerquest
 
Регистрация: 03.02.2016
Сообщений: 7

Как удалить заголовок из ответа?
Конкретно -- Сonnection. Выставлять в null и undefined и "closed" не предлагать. Сторонние модули тоже не хотелось бы, надо штатными средствами.

Спасибо.

Последний раз редактировалось headerquest, 03.02.2016 в 13:17.
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2016, 12:10
Аспирант
Отправить личное сообщение для Max Power Посмотреть профиль Найти все сообщения от Max Power
 
Регистрация: 15.12.2015
Сообщений: 83

Подозреваю что хотите удалить Connection: keep-alive. Вот что говорит RFC 2616:

>HTTP/1.1 applications that do not support persistent connections MUST include the "close" connection option in every message.

В любом случае, то что нода выдает по умолчанию keep-alive в заголовке - это не просто так, а связано с ее поведением, так что это не просто вопрос удаления заголовка
Ответить с цитированием
  #3 (permalink)  
Старый 03.02.2016, 12:13
Новичок на форуме
Отправить личное сообщение для headerquest Посмотреть профиль Найти все сообщения от headerquest
 
Регистрация: 03.02.2016
Сообщений: 7

Max Power,
мне это на 301 редирект нужно. А какой тут может быть keep-alive? Что касается close -- посмотрел щас, google не выдает его на 301. Это не спроста, я думаю

ЗЫ Хотя, проверил сейчас www.ya.ru, он выдает 302 и кееp-alive. В то же время www.yandex.ru, выдает 301 без connection, так же как и google. хз как правильно.

ЗЫЫ Правильно, наверное, все таки, 301 без connection, так как 302 семантически означает, вроде, "временно"

вопрос остается в силе.

Последний раз редактировалось headerquest, 03.02.2016 в 12:34.
Ответить с цитированием
  #4 (permalink)  
Старый 03.02.2016, 12:41
Аспирант
Отправить личное сообщение для Max Power Посмотреть профиль Найти все сообщения от Max Power
 
Регистрация: 15.12.2015
Сообщений: 83

Мне кажется что keep-alive не противоречит редиректу, не обязательно закрывать соединение, если послан заголовок редиректа.

В любом случае заголовок Connection связан с поведением веб-сервера, то есть если его просто вручную переписать, он перестанет соответствовать этому поведению. Вопрос в том - а надо ли менять это поведение...
Ответить с цитированием
  #5 (permalink)  
Старый 03.02.2016, 13:00
Новичок на форуме
Отправить личное сообщение для headerquest Посмотреть профиль Найти все сообщения от headerquest
 
Регистрация: 03.02.2016
Сообщений: 7

Сообщение от Max Power
Мне кажется что keep-alive не противоречит редиректу
Но почему тогда google и yandex не отдают connection при 301-м редиректе? Там что дураки что-ли сидят?
Сообщение от Max Power
поведением веб-сервера
это *поведение* продиктовано просто неправильной архитектурой. К объекту response, насколько я понял, вообще нет прямого доступа. Видимо, все скроено в стиле "заплатка на заплатке", а теперь тривиально изменить ничего нельзя, поэтому оставили как есть. Обычне дело. Почему это дядя должен решать за меня, какие заголовки отдавать? Это нормально?
Сообщение от Max Power
то есть если его просто вручную переписать
мне не переписать надо, а удалить. Это возможно?

Последний раз редактировалось headerquest, 03.02.2016 в 13:03.
Ответить с цитированием
  #6 (permalink)  
Старый 03.02.2016, 13:17
Аспирант
Отправить личное сообщение для Max Power Посмотреть профиль Найти все сообщения от Max Power
 
Регистрация: 15.12.2015
Сообщений: 83

Nginx например редиректит с keep-alive, и никто не возмущается.

> HTTP/1.1 301 Moved Permanently
> Server: nginx/1.6.2 (Ubuntu)
> Date: Wed, 03 Feb 2016 10:09:29 GMT
> Content-Type: text/html
> Content-Length: 193
> Connection: keep-alive
> Location: .........

В теории браузер может по тому же соединению запросить то, куда указывает редирект, а если редирект на внешний ресурс - просто закрыть соединение. Проблемы нет.

Если все же хочется удалить - возможно нужно лезть глубже в кишки Ноды
Ответить с цитированием
  #7 (permalink)  
Старый 03.02.2016, 13:30
Новичок на форуме
Отправить личное сообщение для headerquest Посмотреть профиль Найти все сообщения от headerquest
 
Регистрация: 03.02.2016
Сообщений: 7

Max Power,
Вроде разобрался.
Цитата:
При работе по HTTP 1.1 все соединения считаются постоянными, если не обозначено иное
нода отдает как раз 1.1, поэтому, заголовка c keep-alive там вообще не должно быть. Поэтому серьезные ресурсы и не отдают connection, видимо. Короче, можно оставить как есть, я думаю. Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите как удалить div alex2012 jQuery 5 13.10.2016 17:43
Помогите упростить код открывания панелей Anrew Общие вопросы Javascript 18 14.11.2015 22:15
Обновление страницы после получения ответа от сервера potrashitel AJAX и COMET 9 24.02.2015 10:04
Как удалить коммит github Maxmaxmaximus6 Оффтопик 59 01.01.2014 19:42
Не могу выбрать и удалить клонируемые элементы AlexPrm jQuery 6 30.05.2010 15:58