Технически, нет. Все, что делает GET - это публикует материал в первой строке HTTP-запроса, а POST публикует материал в теле.
Тем не менее, то, как «веб-инфраструктура» обрабатывает различия, имеет огромное значение. Мы могли бы написать целую книгу об этом. Тем не менее, я дам вам несколько «лучших практик»:
Используйте «POST», когда ваш HTTP-запрос изменит что-то «конкретное» внутри веб-сервера. Т.е. вы редактируете страницу, делаете новую запись и так далее. ПОСТЫ с меньшей вероятностью будут кэшироваться или рассматриваться как нечто, «повторяемое без побочных эффектов»
Используйте «GET», когда хотите «посмотреть на объект». Теперь такой взгляд может изменить что-то «за кулисами» с точки зрения кэширования или ведения записей, но это не должно изменить ничего «существенного». То есть, я мог бы повторять свой GET снова и снова, и ничего плохого не случилось бы, кроме завышенного количества попаданий. GET должны легко закладываться, чтобы пользователь мог вернуться к тому же объекту позже.
Параметры для GET (материал после?, Традиционно) следует рассматривать как «атрибуты для представления» или «что просматривать» и так далее. Опять же, это на самом деле ничего не должно изменить: используйте для этого POST.
И, наконец, последнее слово, когда вы POST-то (например, создаете новый комментарий), выполняете обработку для публикации 302, чтобы «перенаправить» пользователя на новый URL, который просматривает этот объект. Т.е. POST обрабатывает информацию, а затем перенаправляет браузер в оператор GET для просмотра нового состояния. Отображение информации в результате POST также может вызвать проблемы. Перенаправление часто используется и заставляет вещи работать лучше.