-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path3.1.4. Request Methods
More file actions
145 lines (101 loc) · 6.67 KB
/
3.1.4. Request Methods
File metadata and controls
145 lines (101 loc) · 6.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
3.1.4. Request Methods
Методы запросов в HTTP определяют тип операции, которую клиент хочет выполнить на сервере. Каждый метод имеет
свое собственное предназначение и влияет на обработку запроса сервером.
Ниже приведены основные методы запросов в HTTP:
GET
- Предназначение: используется для запроса данных от сервера. Клиент указывуает ресурс (например,
веб-страницу), который он хочет получить.
- Характеристики: GET-запрос передает параметры через URL-адрес (query string). Он является безопасным
и идемпотентным, что означает что он не должен изенять состояние сервера и может быть вызван несколько
раз без изменения результата.
Пример GET-запроса:
GET /inxe.html HTTP/1.1
Host: www.example.com
POST
- Предназначение: используется для отравки данных на сервер для обработки. Клиент отправляет данные,
которые могут быть использованы для создания нового ресурса или выполнения каких-то операций на
сервере.
- Характеристики: POST-запрос передает данные в теле запроса. Он не идемпотентен, что означает, что повторные
вызовы могут изменять состояние сервера.
Пример POST-запроса:
POST /submit-form HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length:27
name=John&age=30
PUT
- Предназначение: используется для загрузки или обновления данных на сервере. Клиент отправляет данные,
которые должны быть сохранены на сервере по указанному URL-адресу.
- Характеристики: PUT-запрос создает или обновляет ресурс по указанному URL-адресу. Он является
идемпотентным, что означает, что повторные вызовы с теми же данными не должны изменять состояние
сервера.
Пример PUT-запроса:
PUT /user/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json
Content-Length: 56
{
"name": "John",
"age": 30
}
DELETE
- Предназначение: используется для удаления ресурса на сервере по указанному URL-адерсу.
- Характеристики: DELETE-запрос удаляет указанный ресурс на сервере. Он является идемпотентным,
что означает, что повторные вызовы не должны изменять состояние сервера.
Пример DELETE-запроса:
DELETE /user/123 HTTP/1.1
Host: www.example.com
PATCH
- Предназначение: используется для частичного обновления ресурса на сервере. Клент отправляет данные,
которые должны быть применены к ресурсу.
- Характеристики: PATCH-запрос обновляет только указанные атрибуты ресурса, не изменяя его полностью.
Он не идемпотентен.
Пример PATCH-запроса:
PATCH /user/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json
Content-Length:20
{
"age":31
}
HEAD
- Предназначение: аналогичен методу GET, но клиент запрашивает только заголовки ответа без тела
ответа. Этот метод часто используется для проверки доступности ресурса и получения метаданных о нем.
- Характеристики: HEAD-запрос не возвращает тело ответа, только заголовки. Он является безопасным
и идемпотентным.
Пример HEAD-запроса:
HEAD /index.html HTTP/1.1
Host: www.example.com
Эти методы запросов позволяют клиентам и серверам взаимодействовать между собой, определяя тип
операции, которую требуется выполнить на сервере. Каждый метод имеет сои особенности и подходит
для различных сценариес использования:
- GET - запрашивает данные.
- POST - отправляет данные на сервер.
- PUT - создает или обновляет ресурс
- DELETE - удаляет ресурс
- PATCH - частично обновляет ресурс
- HEAD - запрашивает только заголовки ответа.
Понимание этих методов является ключевым для разработки и поддержки веб-приложений, а также для
обеспечения правильного взаимодействия между клиентами и серверами.
Примеры:
1. Отправка GET-запроса с помощью библиотеки requests:
Листинг 3.1
#GET
import requests
# Отправляем GET-запрос на указанный URL
response = requests.get("https://api.example.com/data")
# Выводим статус-код и содержимое ответа
print("Status Code:", response.status_code)
print("Response Body:", response.text)
2. Отправка POST-запроса с данными с помощью библиотеки requests:
Листинг 3.2
#POST
import requests
#Данные для отправки
data = ["username": "example_user", "password":"example_password"]
#Отправляем POST-запрос на указанный URL с данными
response = requests.post("https://api.example.com/login", data=data)
# Выводим статус-код и содержимое ответа
print("Status Code:", response.status_code)
print("Response Body:", response.text)
189 страница