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
vsdict
:- Дубликаты ключей:
QueryDict
может хранить несколько значений для одного ключа (например, из<select multiple>
). Стандартныйdict
- нет. - Типы данных: В
QueryDict
ключи и значения всегда строки. Вdict
могут быть разных типов. - Методы:
QueryDict
имеет специфичные методы, какgetlist()
(получить все значения для ключа списком),appendlist()
. - Изменяемость:
QueryDict
, полученный изrequest
, обычно неизменяем дляGET
, но может изменяться методами.
- Дубликаты ключей:
DELETE
- Используется для запроса удаления ресурса на сервере.
PUT
- Используется для полного обновления ресурса на сервере или его создания по указанному URL. Идемпотентный (повторные запросы дают тот же результат).
PATCH
- Используется для частичного обновления ресурса на сервере.
OPTIONS
- Используется для запроса информации о доступных методах или параметрах для ресурса.
HEAD
- Аналогичен
GET
, но сервер возвращает только заголовки ответа, без тела ответа. Используется для проверки ресурса без его загрузки.
- Аналогичен
〰〰〰 𓆝 𓆟 𓆞 𓆝 𓆟 𓆝 𓆟 𓆞 〰〰〰