0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Когда пользователь взаимодействует с сайтом, то происходит невидимый процесс передачи данных. Пользователь отправляет запрос, что хочет увидеть страницу, а сервер возвращает ответ в виде HTML-страницы.</p>
1
<p>Когда пользователь взаимодействует с сайтом, то происходит невидимый процесс передачи данных. Пользователь отправляет запрос, что хочет увидеть страницу, а сервер возвращает ответ в виде HTML-страницы.</p>
2
<p>В этом уроке мы узнаем о протоколе HTTP и его защищенной версии - протокол HTTPS. Узнаем, почему небезопасно передавать банковские данные по протоколу HTTP и как злоумышленники могут украсть эту информацию.</p>
2
<p>В этом уроке мы узнаем о протоколе HTTP и его защищенной версии - протокол HTTPS. Узнаем, почему небезопасно передавать банковские данные по протоколу HTTP и как злоумышленники могут украсть эту информацию.</p>
3
<h2>Типы протоколов</h2>
3
<h2>Типы протоколов</h2>
4
<p>Протоколы в интернете - это наборы правил и соглашений, по которым происходит определенное действие в сети, например, передается информация в интернете. Они определяют, как передается информация внутри сети: от типов проводов и подключений до типа информации, которую можно передать по сети.</p>
4
<p>Протоколы в интернете - это наборы правил и соглашений, по которым происходит определенное действие в сети, например, передается информация в интернете. Они определяют, как передается информация внутри сети: от типов проводов и подключений до типа информации, которую можно передать по сети.</p>
5
<p>В этом уроке мы разберем два протокола, которые отвечают за общение компьютеров внутри сети интернет. Это протоколы:</p>
5
<p>В этом уроке мы разберем два протокола, которые отвечают за общение компьютеров внутри сети интернет. Это протоколы:</p>
6
<ul><li>HTTP</li>
6
<ul><li>HTTP</li>
7
<li>HTTPS</li>
7
<li>HTTPS</li>
8
</ul><p>Разберем каждый подробнее.</p>
8
</ul><p>Разберем каждый подробнее.</p>
9
<h3>Протокол HTTP</h3>
9
<h3>Протокол HTTP</h3>
10
<p>Из прошлых уроков мы узнали, что сайты состоят из гипертекста, который размечается с помощью HTML.</p>
10
<p>Из прошлых уроков мы узнали, что сайты состоят из гипертекста, который размечается с помощью HTML.</p>
11
<p>Представим, что мы заходим на страницу курса по тестированию и кликаем на урок про гипертекст. В это время сервер формирует ответ в виде HTML-страницы. Когда ответ будет готов, сервер пересылает его нам:</p>
11
<p>Представим, что мы заходим на страницу курса по тестированию и кликаем на урок про гипертекст. В это время сервер формирует ответ в виде HTML-страницы. Когда ответ будет готов, сервер пересылает его нам:</p>
12
<p>Запросы и ответы в этом случае происходят с помощью протокола HTTP, который расшифровывается как<strong>HyperText Transfer Protocol</strong>или<strong>протокол для передачи гипертекста</strong>. Он устанавливает, в каком виде передаются данные, какая информация должна быть передана на сервер, а какая возвращена пользователю.</p>
12
<p>Запросы и ответы в этом случае происходят с помощью протокола HTTP, который расшифровывается как<strong>HyperText Transfer Protocol</strong>или<strong>протокол для передачи гипертекста</strong>. Он устанавливает, в каком виде передаются данные, какая информация должна быть передана на сервер, а какая возвращена пользователю.</p>
13
<p>Так выглядит часть запроса от браузера при обращении к странице этого урока:</p>
13
<p>Так выглядит часть запроса от браузера при обращении к странице этого урока:</p>
14
<p>Это лишь малая часть того, какие данные отправляются на сервер при обращении к странице. По ним сервер понимает:</p>
14
<p>Это лишь малая часть того, какие данные отправляются на сервер при обращении к странице. По ним сервер понимает:</p>
15
<ul><li>Какую страницу запрашивают</li>
15
<ul><li>Какую страницу запрашивают</li>
16
<li>Кто запрашивает страницу, а именно данные о браузере</li>
16
<li>Кто запрашивает страницу, а именно данные о браузере</li>
17
<li>Какие данные может обработать пользователь</li>
17
<li>Какие данные может обработать пользователь</li>
18
<li>Переданные данные в форме</li>
18
<li>Переданные данные в форме</li>
19
</ul><p>Последний пункт списка может представлять опасность. Через протокол HTTP передаются данные, которые вводятся в формах. Опасность в том, что эти данные не защищены и передаются в том виде, в котором мы их отправили:</p>
19
</ul><p>Последний пункт списка может представлять опасность. Через протокол HTTP передаются данные, которые вводятся в формах. Опасность в том, что эти данные не защищены и передаются в том виде, в котором мы их отправили:</p>
20
<p>Когда сервер получает запрос, он формирует не только данные в виде HTML, но и множество служебной информации. Она помогает браузеру правильно обработать данный запрос. Вот пример полученного ответа от сервера:</p>
20
<p>Когда сервер получает запрос, он формирует не только данные в виде HTML, но и множество служебной информации. Она помогает браузеру правильно обработать данный запрос. Вот пример полученного ответа от сервера:</p>
21
<p>В этом ответе для тестировщика важна первая строка - HTTP/2 200 OK. В этой строке содержится "ответ сервера" - специальный код, который приходит от сервера и подсказывает браузеру, какой статус страницы.</p>
21
<p>В этом ответе для тестировщика важна первая строка - HTTP/2 200 OK. В этой строке содержится "ответ сервера" - специальный код, который приходит от сервера и подсказывает браузеру, какой статус страницы.</p>
22
<p>Этих ответов много, но стоит наизусть знать несколько из них:</p>
22
<p>Этих ответов много, но стоит наизусть знать несколько из них:</p>
23
<ul><li><strong>200 OK</strong>- Данные получены без ошибок. Этот статус основной для страниц</li>
23
<ul><li><strong>200 OK</strong>- Данные получены без ошибок. Этот статус основной для страниц</li>
24
<li><strong>301 Moved Permanently</strong>- страница перемещена на новый адрес. Когда браузер получает этот код, то ищет в ответе новую страницу и автоматически переходит на нее. Такой процесс называется "редирект"</li>
24
<li><strong>301 Moved Permanently</strong>- страница перемещена на новый адрес. Когда браузер получает этот код, то ищет в ответе новую страницу и автоматически переходит на нее. Такой процесс называется "редирект"</li>
25
<li><strong>404 Not Found</strong>- страница не найдена. Чтобы не отдавать пустую страницу с ошибкой, разработчики делают специальную страницу при возникновении ошибки и показывают ее пользователю</li>
25
<li><strong>404 Not Found</strong>- страница не найдена. Чтобы не отдавать пустую страницу с ошибкой, разработчики делают специальную страницу при возникновении ошибки и показывают ее пользователю</li>
26
<li><strong>500 Internal Server Error</strong>,<strong>502 Bad Gateway</strong>и<strong>503 Service Unavailable</strong>- ошибки, которые связаны с сервером. Временные ошибки - связаны с проблемой доступа к серверу. Глобальные ошибки - связаны с неработающим кодом или проблемами с доступом к базе данных</li>
26
<li><strong>500 Internal Server Error</strong>,<strong>502 Bad Gateway</strong>и<strong>503 Service Unavailable</strong>- ошибки, которые связаны с сервером. Временные ошибки - связаны с проблемой доступа к серверу. Глобальные ошибки - связаны с неработающим кодом или проблемами с доступом к базе данных</li>
27
</ul><p>Главная проблема HTTP - открытость данных. Если передавать важные данные, то они пересылаются в открытом виде и могут быть перехвачены злоумышленниками. Чтобы избежать этого, был придуман стандарт HTTPS, где буква S означает Secure - безопасный.</p>
27
</ul><p>Главная проблема HTTP - открытость данных. Если передавать важные данные, то они пересылаются в открытом виде и могут быть перехвачены злоумышленниками. Чтобы избежать этого, был придуман стандарт HTTPS, где буква S означает Secure - безопасный.</p>
28
<h2>Протокол HTTPS</h2>
28
<h2>Протокол HTTPS</h2>
29
<p>Главное отличие HTTP от HTTPS - шифрование данных. Все данные, которые передаются от клиента на сервер, будут передаваться не в открытом, а в зашифрованном виде. Это позволяет защититься от хакерских атак.</p>
29
<p>Главное отличие HTTP от HTTPS - шифрование данных. Все данные, которые передаются от клиента на сервер, будут передаваться не в открытом, а в зашифрованном виде. Это позволяет защититься от хакерских атак.</p>
30
<p>Посмотрим на адресную строку:</p>
30
<p>Посмотрим на адресную строку:</p>
31
<p>Сайт Хекслета тоже работает по HTTPS, о чем говорит протокол перед названием сайта и значок замочка. Когда видите эти два параметра, можно не волноваться за свои данные:</p>
31
<p>Сайт Хекслета тоже работает по HTTPS, о чем говорит протокол перед названием сайта и значок замочка. Когда видите эти два параметра, можно не волноваться за свои данные:</p>
32
<h2>Что тестировать</h2>
32
<h2>Что тестировать</h2>
33
<p>При тестировании веб-страниц нужно обращать внимание на следующие факторы:</p>
33
<p>При тестировании веб-страниц нужно обращать внимание на следующие факторы:</p>
34
<ul><li>Если со страницы передаются данные от пользователей, то страница должна быть защищена по протоколу HTTPS. Самый простой вариант - полностью перевести сайт на HTTPS</li>
34
<ul><li>Если со страницы передаются данные от пользователей, то страница должна быть защищена по протоколу HTTPS. Самый простой вариант - полностью перевести сайт на HTTPS</li>
35
<li>Все страницы должны отдавать HTTP код "200 OK"</li>
35
<li>Все страницы должны отдавать HTTP код "200 OK"</li>
36
<li>Если одна из страниц перемещена, то она должна отдавать код "301 Moved Permanently" и автоматически перенаправлять на новую страницу</li>
36
<li>Если одна из страниц перемещена, то она должна отдавать код "301 Moved Permanently" и автоматически перенаправлять на новую страницу</li>
37
</ul><h2>Инструменты для тестирования</h2>
37
</ul><h2>Инструменты для тестирования</h2>
38
<p>Для проверки страницы тестировщик может использовать встроенный во все браузеры "Инструменты разработчика". Как его открывать мы разбирали в прошлых уроках. Сейчас разберем, как увидеть ответ сервера.</p>
38
<p>Для проверки страницы тестировщик может использовать встроенный во все браузеры "Инструменты разработчика". Как его открывать мы разбирали в прошлых уроках. Сейчас разберем, как увидеть ответ сервера.</p>
39
<p>Чтобы посмотреть все запросы сервера, используется вкладка Network:</p>
39
<p>Чтобы посмотреть все запросы сервера, используется вкладка Network:</p>
40
<p>В этой вкладке нас интересует несколько полей:</p>
40
<p>В этой вкладке нас интересует несколько полей:</p>
41
<ul><li><strong>Status</strong>- код ответа. Это код HTTP, про который говорилось выше. В большинстве нормальных ситуаций этот код будет 200</li>
41
<ul><li><strong>Status</strong>- код ответа. Это код HTTP, про который говорилось выше. В большинстве нормальных ситуаций этот код будет 200</li>
42
<li><strong>Domain</strong>- откуда вернулся ответ на запрос. На сайтах могут использоваться различные скрипты, стили, изображения, которые берутся из внешних источников. Вкладка Domain показывает источник, из которого пришел ответ</li>
42
<li><strong>Domain</strong>- откуда вернулся ответ на запрос. На сайтах могут использоваться различные скрипты, стили, изображения, которые берутся из внешних источников. Вкладка Domain показывает источник, из которого пришел ответ</li>
43
<li><strong>File</strong>- какой конкретно файл был загружен</li>
43
<li><strong>File</strong>- какой конкретно файл был загружен</li>
44
</ul><p>Откройте инструмент разработчика на этой странице, перейдите во вкладку Network и перезагрузите страницу. Это нужно, чтобы увидеть все загруженные ресурсы. Одной из первых строчек будет:</p>
44
</ul><p>Откройте инструмент разработчика на этой странице, перейдите во вкладку Network и перезагрузите страницу. Это нужно, чтобы увидеть все загруженные ресурсы. Одной из первых строчек будет:</p>
45
<p>Это и есть ответ текущей страницы теории. Код 200 сообщит, что страница вернулась без ошибок</p>
45
<p>Это и есть ответ текущей страницы теории. Код 200 сообщит, что страница вернулась без ошибок</p>
46
<h2>Выводы</h2>
46
<h2>Выводы</h2>
47
<p>В этом уроке мы разобрали, что для передачи данных между клиентом и сайтом используется протокол HTTP. Протокол - набор правил и соглашений, по которым строится логика передачи данных. При получении информации сервер отправляет код статуса, по которому браузер понимает корректно ли дошли данные.</p>
47
<p>В этом уроке мы разобрали, что для передачи данных между клиентом и сайтом используется протокол HTTP. Протокол - набор правил и соглашений, по которым строится логика передачи данных. При получении информации сервер отправляет код статуса, по которому браузер понимает корректно ли дошли данные.</p>
48
<p>Кодов HTTP много, но стоит помнить о нескольких основных из них:</p>
48
<p>Кодов HTTP много, но стоит помнить о нескольких основных из них:</p>
49
<ul><li>200 OK - Данные получены без ошибок</li>
49
<ul><li>200 OK - Данные получены без ошибок</li>
50
<li>301 Moved Permanently - страница перемещена на новый адрес</li>
50
<li>301 Moved Permanently - страница перемещена на новый адрес</li>
51
<li>404 Not Found - страница не найдена</li>
51
<li>404 Not Found - страница не найдена</li>
52
<li>500 Internal Server Error, 502 Bad Gateway и 503 Service Unavailable - ошибки, связанные с сервером</li>
52
<li>500 Internal Server Error, 502 Bad Gateway и 503 Service Unavailable - ошибки, связанные с сервером</li>
53
</ul><p>По протоколу HTTP передается не только запрос, но и различная служебная информация, а так же данные из форм. Это небезопасно, так как данные не шифруются и могут быть перехвачены злоумышленником.</p>
53
</ul><p>По протоколу HTTP передается не только запрос, но и различная служебная информация, а так же данные из форм. Это небезопасно, так как данные не шифруются и могут быть перехвачены злоумышленником.</p>
54
<p>Чтобы избежать перехвата информации, используется протокол HTTPS - защищенная версия HTTP. Отличительная черта протокола - шифрование данных. По этой причине протокол используется везде, где есть формы. При этом протокол используют не на конкретной странице, а на всем сайте.</p>
54
<p>Чтобы избежать перехвата информации, используется протокол HTTPS - защищенная версия HTTP. Отличительная черта протокола - шифрование данных. По этой причине протокол используется везде, где есть формы. При этом протокол используют не на конкретной странице, а на всем сайте.</p>