307 возникло из-за того, что пользовательские агенты приняли поведение de facto , чтобы принимать запросы POST, которые получают ответ 302, и отправлять запрос GET в заголовок ответа Location.
Это некорректное поведение & mdash; только a 303 должно заставить POST превратиться в GET. Пользовательские агенты должны (но не) придерживаться метода POST при запросе нового URL, если исходный запрос POST возвратил 302.
307 был введен для того, чтобы серверы давали понять агенту пользователя, что изменение метода не должно выполняться клиентом при использовании заголовка ответа Location.