У меня есть веб-сайт, где клиенты могут отправлять формы.Я использую PHP на стороне сервера и использую метод POST (большие формы).Проблема в том, что когда-нибудь запрос приходит на мой веб-сервер в виде запроса GET без информации о публикации.Эта проблема возникает только в том случае, если форма отправляется из определенного местоположения клиента, и проблема носит прерывистый характер (работает большую часть времени).
С помощью Fiddler, я думаю, я определил, что происходит, но не могу придуматьОбходной путь.Публикация в stackoverflow, чтобы увидеть, есть ли у кого-то идея.
По сути, последовательность выглядит следующим образом:
1- Запрос POST отправляется со всеми соответствующими данными.
2-Похоже, что POST-запрос был перехвачен прокси-сервером аутентификации.
3- Прокси-сервер отправляет ответ HTTP 302. на запрос POST и перенаправляет на другой внутренний адрес для аутентификации.
4- Происходят транзакции аутентификации (два запроса GET, с ответом 401)
5 - Прокси-сервер отвечает перенаправлением 302 на последний запрос аутентификации, который перенаправляет на исходный запрос.
6- Но браузер отправляет исходный запрос в виде запроса GET без НИКАКОЙ информации о публикации вместо запроса POST, как он был отправлен изначально.
Конечный результат - пустая страница для пользователяи данные формы теряются.
Может ли это быть из-за того, что, хотя исходный запрос является POST, он включает в себя несколько параметров в URL (возможно, браузер предполагает, что это GET из-за них?)?
Это нормальное поведение?Я читал, что это в соответствии со стандартом (браузеры всегда отвечают на 302 с GET), но я не могу поверить, что это так, так как в этих ситуациях нет решения для запроса POST?
Должно быть несколько способов обойти эту проблему, которая приводит к очень плохому пользовательскому опыту.Дайте мне знать, что вы думаете.