Почему использование ПОМЕЩЕННЫЙ HTTP и УДАЛЯЕТ методы вместо POST?

Да, если вы не устанавливаете через менеджер пакетов (например, apt или yum в Linux), вам придется создавать это вручную. Затем, когда вы запускаете mongod, вам просто нужно указать, где находится файл конфигурации, например:

./mongod -f /path/to/mongod.conf

Чтобы посмотреть, как должен выглядеть этот файл, просто посмотрите здесь:

http://docs.mongodb.org/manual/reference/configuration-options/

Вы также можете увидеть вышеупомянутые файлы конфигурации Linux из пакетов на github:

https://github.com/mongodb/mongo/blob/master/rpm/mongod.conf

https://github.com/mongodb/mongo/blob/master /debian/mongodb.conf

28
задан Johnny Bones 17 July 2019 в 13:24
поделиться

3 ответа

Преимущество в основном семантическое, а также может до некоторой степени упростить URL-адреса. Различные методы HTTP соответствуют различным действиям:

POST   => create a new object
DELETE => delete an object
PUT    => modify an object
GET    => view an object

Теоретически вы можете использовать тот же URL-адрес, но взаимодействовать с ним, используя разные методы; метод, используемый для доступа к ресурсу, определяет фактический тип операции.

Однако на практике большинство браузеров поддерживают только HTTP GET и POST. Rails использует некоторые «уловки» в формах HTML, чтобы действовать так, как если бы был отправлен запрос PUT или DELETE, даже если Rails все еще использует GET или POST для этих методов. (Это объясняет, почему вы, возможно, не использовали DELETE или PUT на других платформах.)

56
ответ дан 28 November 2019 в 02:36
поделиться

Это было бы похоже на вопрос, зачем «удалять» файл, если вы можете просто установить его содержимое на ноль байтов, и файловая система будет рассматривать это как удаление. HTTP всегда поддерживал глаголы, отличные от GET / POST, но способ развития SOAP как бы исказил исходное значение этих глаголов. REST - это более простой подход, основанный на принципах возврата к основам, который использует глаголы в том виде, в каком они были задуманы, вместо того, чтобы изобретать новую концепцию глаголов внутри полезной нагрузки.

8
ответ дан 28 November 2019 в 02:36
поделиться

Вот раздел "методы" спецификации HTTP 1.1 ; он определяет множество методов, и все они имеют разные преимущества и недостатки. POST является наиболее гибким, но у него много компромиссов: он не кэшируется (поэтому остальная часть Интернета не может помочь вам в масштабировании), он небезопасен или идемпотентен, поэтому клиент не может просто повторно отправить, он получает ошибку, и больше не ясно, что именно вы пытаетесь выполнить (потому что он настолько гибкий). Я уверен, что есть и другие, но этого должно быть достаточно. Учитывая все это, если спецификация HTTP определяет метод, который делает именно то, что вы хотите, чтобы ваш запрос выполнял, нет причин отправлять вместо этого POST .

Причина POST - это настолько распространено, что, по крайней мере исторически, веб-браузеры поддерживают только GET и POST . Поскольку GET определен как безопасный и идемпотентный (хотя многие приложения этого не придерживаются), единственным безопасным способом изменения данных была отправка POST . С появлением AJAX и клиентов, не являющихся браузерами, это больше не так.

Кстати, отображение, которое предоставил @mipadi, является стандартным, но не единственным допустимым. Amazon S3, например, использует PUT для создания ресурсов. Единственная причина использовать POST - это если у клиента недостаточно знаний для создания ресурса, например, вы поддерживаете свои ресурсы с помощью реляционной базы данных и используете искусственные суррогатные ключи.

Поскольку GET определен как безопасный и идемпотентный (хотя многие приложения этого не придерживаются), единственным безопасным способом изменения данных была отправка POST . С появлением AJAX и клиентов, не являющихся браузерами, это больше не так.

Кстати, отображение, которое предоставил @mipadi, является стандартным, но не единственным допустимым. Amazon S3, например, использует PUT для создания ресурсов. Единственная причина использовать POST - это если у клиента недостаточно знаний для создания ресурса, например, вы поддерживаете свои ресурсы с помощью реляционной базы данных и используете искусственные суррогатные ключи.

Поскольку GET определен как безопасный и идемпотентный (хотя многие приложения этого не придерживаются), единственным безопасным способом изменения данных была отправка POST . С появлением AJAX и клиентов, не являющихся браузерами, это больше не так.

Кстати, отображение, которое предоставил @mipadi, является стандартным, но не единственным допустимым. Amazon S3, например, использует PUT для создания ресурсов. Единственная причина использовать POST - это если у клиента недостаточно знаний для создания ресурса, например, вы поддерживаете свои ресурсы с помощью реляционной базы данных и используете искусственные суррогатные ключи.

С появлением AJAX и клиентов, не являющихся браузерами, это больше не так.

Кстати, отображение, которое предоставил @mipadi, является стандартным, но не единственным допустимым. Amazon S3, например, использует PUT для создания ресурсов. Единственная причина использовать POST - это если у клиента недостаточно знаний для создания ресурса, например, вы поддерживаете свои ресурсы с помощью реляционной базы данных и используете искусственные суррогатные ключи.

С появлением AJAX и клиентов, не являющихся браузерами, это больше не так.

Кстати, отображение, которое предоставил @mipadi, является стандартным, но не единственным допустимым. Amazon S3, например, использует PUT для создания ресурсов. Единственная причина использовать POST - это если у клиента недостаточно знаний для создания ресурса, например, вы поддерживаете свои ресурсы с помощью реляционной базы данных и используете искусственные суррогатные ключи.

9
ответ дан 28 November 2019 в 02:36
поделиться
Другие вопросы по тегам:

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