• POST
    • Метод для отправки данных на сервер (например, из форм, JSON).
    • Данные передаются в теле запроса (request body) и не видны в URL.
  • GET
    • Метод для запроса данных с сервера.
    • Параметры передаются в URL-адресе (query string).
    • Используется для получения страниц, данных. Может кешироваться браузером.
    • Не подходит для передачи чувствительной информации.
    • Доступ в Django: Параметры доступны через request.GET.
      from django.http import HttpResponse
       
      def process_get(request):
          if request.GET:
              # request.GET - это QueryDict
              name = request.GET.get('name', 'Guest') # Безопасное получение параметра
              return HttpResponse(f"Hello, {name}! I've got GET"
              "params.")
          return HttpResponse("No GET parameters provided.")
    • QueryDict vs dict:
      1. Дубликаты ключей: QueryDict может хранить несколько значений для одного ключа (например, из <select multiple>). Стандартный dict - нет.
      2. Типы данных: В QueryDict ключи и значения всегда строки. В dict могут быть разных типов.
      3. Методы: QueryDict имеет специфичные методы, как getlist() (получить все значения для ключа списком), appendlist().
      4. Изменяемость: QueryDict, полученный из request, обычно неизменяем для GET, но может изменяться методами.
  • DELETE
    • Используется для запроса удаления ресурса на сервере.
  • PUT
    • Используется для полного обновления ресурса на сервере или его создания по указанному URL. Идемпотентный (повторные запросы дают тот же результат).
  • PATCH
    • Используется для частичного обновления ресурса на сервере.
  • OPTIONS
    • Используется для запроса информации о доступных методах или параметрах для ресурса.
  • HEAD
    • Аналогичен GET, но сервер возвращает только заголовки ответа, без тела ответа. Используется для проверки ресурса без его загрузки.

〰〰〰 𓆝 𓆟 𓆞 𓆝 𓆟 𓆝 𓆟 𓆞 〰〰〰