В чем разница между POST и PUT HTTP REQUEST?

Смотрите эту тему:

http://forums.asp.net/p/1038457/1441866.aspx#1441866

В принципе, пока формат Date () действителен javascript, он НЕ является допустимым JSON (есть разница). Если вы хотите использовать старый формат, вам, вероятно, придется создать фасад и преобразовать значение самостоятельно или найти способ получить сериализатор для вашего типа в JsonResult и использовать его в качестве настраиваемого формата для дат.

703
задан rudolph1024 30 July 2015 в 16:02
поделиться

6 ответов

HTTP ПОМЕСТИЛ:

PUT помещает файл или ресурс в определенном URI, и точно в том URI. Если уже существует файл или ресурс в том URI, ПОМЕЩЕННЫЕ замены тот файл или ресурс. Если нет никакого файла, или ресурс там, ПОМЕЩЕННЫЙ создает тот. ПОМЕЩЕННЫЙ идемпотент , но как это ни парадоксально ПОМЕЩЕННЫЕ ответы не являются кэшируемыми.

местоположение HTTP 1.1 RFC для ПОМЕЩЕННОГО

POST HTTP:

POST отправляет данные в определенный URI и ожидает, что ресурс в том URI обработает запрос. Веб-сервер в этой точке может определить, что сделать с данными в контексте указанного ресурса. Метод THE POST не идемпотент , однако ответы POST кэшируемые, пока сервер устанавливает соответствующее Управление Кэша и Истекает заголовки.

официальный RFC HTTP определяет POST, чтобы быть:

  • Аннотация существующих ресурсов;
  • Добавление сообщения к доске объявлений, группе новостей, списку рассылки или подобной группе статей;
  • Обеспечение блока данных, такого как результат представления формы, к процессу обработки данных;
  • Расширение базы данных посредством добавлять операции.

местоположение HTTP 1.1 RFC для различия POST

между POST и ПОМЕЩЕННЫЙ:

сам RFC объясняет базовое различие:

принципиальное различие между POST и ПОМЕЩЕННЫМИ запросами отражается в различном значении URI запроса. URI в запросе POST определяет ресурс, который обработает вложенный объект. Тот ресурс мог бы быть принимающим данные процессом, шлюзом к некоторому другому протоколу или отдельным объектом, который принимает аннотации. Напротив, URI в ПОМЕЩЕННОМ запросе отождествляет объект, включенный с запросом - агент пользователя знает, какой URI предназначается, и сервер не ДОЛЖЕН пытаться применить запрос к некоторому другому ресурсу. Если сервер требует, чтобы запрос был применен к различному URI, это ДОЛЖНО отправить 301 (Перемещенный Постоянно) ответ; агент пользователя МОЖЕТ тогда принять свое собственное решение относительно того, перенаправить ли запрос.

Используя правильный метод, не связанный в стороне:

Одно преимущество REST ROA по сравнению с SOAP - то, что при использовании ROA REST HTTP, это поощряет надлежащее использование глаголов/методов HTTP. Так, например, Вы только использовали бы ПОМЕЩЕННЫЙ, когда Вы хотите создать ресурс в том точном местоположении. И Вы никогда не использовали бы, ДОБИРАЮТСЯ, чтобы создать или изменить ресурс.

711
ответ дан Community 30 July 2015 в 16:02
поделиться

Только семантика.

HTTP PUT, как предполагается, принимает тело запроса, и затем хранит это в ресурсе, определенном URI.

HTTP POST является более общим. Это, как предполагается, инициирует действие с сервером. То действие могло быть должно сохранить тело запроса в ресурсе, определенном URI, или это мог быть различный URI, или это могло быть различное действие.

ПОМЕЩЕННЫЙ как загрузка файла. Помещенный в URI влияет точно на тот URI. POST к URI мог иметь любой эффект вообще.

175
ответ дан Paul Roub 30 July 2015 в 16:02
поделиться

Дать примеры ресурсов стиля REST:

"POST / книги" с набором информации о книге мог бы создать новую книгу и ответить новым URL, определяющим ту книгу: "/books/5".

"ПОМЕЩАЕТ/books/5", должен был бы или создать новую книгу с идентификатором 5 или заменить существующую книгу идентификатором 5.

В стиле нересурса, POST может использоваться для примерно чего-либо, что имеет побочный эффект. Еще одно различие - то, что ПОМЕЩЕННЫЙ должен быть идемпотент - несколько ПОМЕЩАЮТ тех же данных в тот же URL, должен быть прекрасным, wheras несколько СООБЩЕНИЙ мог бы создать несколько объектов или независимо от того, что это - Ваше действие POST, делает.

106
ответ дан bhollis 30 July 2015 в 16:02
поделиться

ПОМЕЩЕННЫЙ предназначен как метод для "загрузки" материала к конкретному URI или перезаписи, что уже находится в том URI.

POST, с другой стороны, является способом отправить данные, СВЯЗАННЫЕ с данным URI.

Относятся к HTTP RFC

56
ответ дан Daniel Bruce 30 July 2015 в 16:02
поделиться

Другие уже отправили превосходные ответы, я просто хотел добавить, что с большинством языков, платформ и вариантов использования Вы будете иметь дело с POST очень, намного чаще, чем ПОМЕЩЕННЫЙ. К точке, где ПОМЕЩЕНО, УДАЛИТЕ, и т.д. в основном вопросы о мелочах.

16
ответ дан Jason Morrison 30 July 2015 в 16:02
поделиться

POST считают чем-то вроде метода типа фабрики. Вы включаете данные с ним для создания то, что Вы хотите и независимо от того, что находится на другом конце, знает, что сделать с ним. ПОМЕЩЕННЫЙ используется, чтобы обновить существующие данные в данном URL или создать что-то новое, когда Вы знаете то, чем будет URI, и это уже не существует (в противоположность POST, который создаст что-то и возвратит URL ему при необходимости).

11
ответ дан user12786 30 July 2015 в 16:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: