Методы запросов
Урок 21 из 47 курса Сетевое взаимодействие в терминале на Coddy.
Метод указывает, какую операцию вы хотите выполнить. Четырёх методов достаточно почти для всего:
- GET: передайте мне эту вещь. Ничего не изменяйте.
- POST: вот некоторые данные, выполните с ними какое-либо действие.
- PUT: сохраните это именно в этом месте.
- DELETE: удалите это.
GET является безопасным: он никогда не должен изменять что-либо на сервере, поэтому браузер может дважды загрузить страницу, не запрашивая разрешения. Поэтому ссылка, которая удаляет что-либо, также является ошибкой проектирования: любое средство, переходящее по ссылкам, может её активировать.
Сервер может отказаться от метода, который он не реализует, и сообщает об этом с помощью кода состояния, а не сообщения об ошибке. Например, простой файловый сервер Python понимает GET и HEAD и ничего больше.
curl отправляет GET, если не указано иное. -X изменяет метод.
Задание
СреднеПопросите сервер выполнить действие, которое он не поддерживает, и прочитайте его ответ.
Файловый сервер Python понимает только GET и HEAD. Запустите раздачу папки на порту 9111, затем отправьте ему запрос POST и выведите только числовой код статуса, который он вернёт.
Ожидаемый вывод:
501501 означает «не реализовано».
-o /dev/nullотбрасывает тело ответа, а-w "%{http_code}"выводит код.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сетевое взаимодействие в терминале
5HTTP вручную
Анатомия запросаМетоды запросовКоды состоянияЗаголовки ответаФормирование ответаПовторение: основы HTTP3Порты и сокеты
Что такое портХорошо известные портыЛокальный хостПрослушивание и подключениеПовторение: порты6curl в деталях
Просмотр заголовковСохранение ответовПользовательские заголовкиСтатус и время выполненияКоды выхода curlПовторение: флаги curl9Аутентификация и отладка
API-ключи и BearerUser-AgentТайм-ауты и повторные попыткиАнализ ошибкиПовторение: отладкаПотренируйтесь самостоятельно: Песочница Terminal