Similar presentations:
Основы web
1.
#Основы webЛектор: Демура ПолинаД
2.
#План лекции• Протокол HTTP
• Из чего состоит HTTP запрос и ответ
• Что такое burp suite / работа в burp
• Python requests
3.
# HTTP-протоколHTTP протокол - протокол прикладного уровня
(7 уровень модели OSI) Является одним из
основных протоколов передачи данных во
всемирной паутине.
Основа: клиент-серверное взаимодействие
HTTP это stateless - protocol
HTTP request
HTTP response
client
server
4.
#HTTP - запросметод
версия протокола
GET /ru/trainer?q=123 HTTP/1.1
Host: sql-academy.org
Sec-Ch-Ua: "Chromium";v="121", "Not A(Brand";v="99"
Sec-Ch-Ua-Platform: "macOS"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.160
Safari/537.36
заголовки
запроса
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signedexchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Connection: close
5.
версияпротокола
заголовки
ответа
#HTTP ответ
код ответа
HTTP/2 200 OK
Date: Tue, 26 Mar 2024 20:22:59 GMT
Content-Type: text/html; charset=utf-8
Cache-Control: s-maxage=31536000, stale-while-revalidate
Set-Cookie: NEXT_LOCALE=ru; Path=/
Vary: Accept-Encoding
Server: cloudflare
<!DOCTYPE html><html lang="ru">
...
тело ответа
6.
# Practice time ;-)7.
#СookiesHTTP cookie (web cookie, куки браузера) - это некоторые данные в виде пар
ключ-значение, которые сервер отправляет браузеру пользователя.
Куки используются для:
– управление пользовательскими сеансами
– персонализация (например предпочитаемый язык)
– отслеживание действий пользователя (например для сбора аналитики)
Атрибуты куки:
session_id=21584563; expires=Fri, 31-Dec-2010 23:59:59 GMT;
path=/; domain=www.example.ru; secure; HttpOnly
8.
# Practice time ;-)9.
# Practice time ;-)10.
#Python requestsБиблиотека для отправки запросов/получения ответов по HTTP-протоколу
пример
import requests
s = requests.Session()
resp = s.get(‘http://example.com’ params={‘a’:’1’})
print(resp.text)
11.
# Practice time ;-)12.
#ВСЕ!https://realpython.com/python-requests/
https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
https://developer.mozilla.org/en-US/docs/Web/HTTP
https://httpwg.org/specs/rfc9110.html
https://httpwg.org/specs/rfc6265.html
https://requests.readthedocs.io/en/latest/index.html
https://portswigger.net/