Почему я получаю HTTP-код 414 в одной сети, а не в другой? - PullRequest
1 голос
/ 10 июня 2010

У меня есть другая работающая программа для iPhone. Недавнее изменение означает, что оно генерирует очень длинные URL (иногда более 4000 символов), которые, как я знаю, не очень хорошая идея, и я знаю, как это исправить - это не то, о чем я здесь спрашиваю.

Любопытно, что когда я подключаюсь через сеть 3G (Vodafone UK), я получаю эту ошибку HTTP «414 Request-URI Too Long», но когда я подключаюсь через локальное соединение WiFi, все работает нормально. *

Почему я получаю разные результаты, используя разные типы сетей? Могут ли они направлять запросы на разные серверы в зависимости от того, где происходит соединение? Или здесь что-то еще поставлено на карту?

Следующие вопросы относятся к тому, насколько это распространено. Это может произойти, когда я использую сотовую сеть или просто некоторые сети?

Ответы [ 3 ]

3 голосов
/ 10 июня 2010

Я подозреваю, что ваши запросы 3G передаются через какой-то прокси, который не имеет URL длиной 4000 символов и возвращает ошибку HTTP 414.

2 голосов
/ 10 июня 2010

Я подозреваю, что соединение Vodafone проходит через прокси и / или шлюз, который не может обработать слишком длинный URL, и что ваш 414 Request-URI Too Long приходит с it .

1 голос
/ 10 июня 2010

Некоторые операторы беспроводной связи, включая, на мой взгляд, Vodafone UK, используют встроенные прокси-серверы, которые прозрачно перехватывают ваши HTTP-запросы в целях оптимизации. Некоторые из этих прокси основаны на программном обеспечении, таком как кеш прокси Squid, у которого могут быть проблемы с очень длинными URL. В результате ваши запросы могут даже не поступать на ваш сервер.

Чтобы обойти эту проблему, вы можете попробовать отправить HTTP-запросы на сервер через нестандартный TCP-порт. Вообще говоря, эти прокси настроены только для выполнения HTTP-обработки на порту 80. Таким образом, если вы можете отправлять свой трафик на другой порт, он может пройти через невредимый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...