HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Популярный вопрос на собеседовании веб-разработчиков часто звучит так: "Что происходит после того, как в браузер ввели адрес сайта?". Подробный ответ на этот вопрос можно найти<a>здесь</a>. Главное, что хочет услышать собеседующий - ваш уровень понимания<strong>HTTP</strong>(Hyper-Text Transferring Protocol).</p>
1 <p>Популярный вопрос на собеседовании веб-разработчиков часто звучит так: "Что происходит после того, как в браузер ввели адрес сайта?". Подробный ответ на этот вопрос можно найти<a>здесь</a>. Главное, что хочет услышать собеседующий - ваш уровень понимания<strong>HTTP</strong>(Hyper-Text Transferring Protocol).</p>
2 <p><strong>Протокол</strong>- это набор соглашений, правил, по которым разные программы могут обмениваться информацией. HTTP - это набор правил, который известен и вашему компьютеру и физически отдаленному компьютеру. С помощью него общаются<strong>браузер</strong>и<strong>веб-сервер</strong>:</p>
2 <p><strong>Протокол</strong>- это набор соглашений, правил, по которым разные программы могут обмениваться информацией. HTTP - это набор правил, который известен и вашему компьютеру и физически отдаленному компьютеру. С помощью него общаются<strong>браузер</strong>и<strong>веб-сервер</strong>:</p>
3 <p>Веб-сервер - программа, установленная на сервере и обслуживающая входящие соединения, например, от браузеров. В рамках такого соединения от браузера передается информация о том, какую страницу и какого сайта мы хотим загрузить, а веб-сервер возвращает браузеру содержимое страницы этого сайта.</p>
3 <p>Веб-сервер - программа, установленная на сервере и обслуживающая входящие соединения, например, от браузеров. В рамках такого соединения от браузера передается информация о том, какую страницу и какого сайта мы хотим загрузить, а веб-сервер возвращает браузеру содержимое страницы этого сайта.</p>
4 <p>Пример HTTP-сессии "запрос-ответ" через программу curl:</p>
4 <p>Пример HTTP-сессии "запрос-ответ" через программу curl:</p>
5 <p>Технологию http нужно не просто знать. Важно еще и уметь делать сырые http-запросы - не косвенно через браузер, а самостоятельно, эмулируя поведение браузера. Для этой задачи используют программу<em>telnet</em>. На Хекслете есть<a>соответствующий курс</a>- там вы всему и научитесь.</p>
5 <p>Технологию http нужно не просто знать. Важно еще и уметь делать сырые http-запросы - не косвенно через браузер, а самостоятельно, эмулируя поведение браузера. Для этой задачи используют программу<em>telnet</em>. На Хекслете есть<a>соответствующий курс</a>- там вы всему и научитесь.</p>
6 <h4>Для чего требуется знание http?</h4>
6 <h4>Для чего требуется знание http?</h4>
7 <p>Протокол http применяется для множества различных задач:</p>
7 <p>Протокол http применяется для множества различных задач:</p>
8 <ul><li>В работе с формами, при загрузке файлов и при перенаправлении</li>
8 <ul><li>В работе с формами, при загрузке файлов и при перенаправлении</li>
9 <li>Для аутентификации (она целиком зависит от http)</li>
9 <li>Для аутентификации (она целиком зависит от http)</li>
10 <li>Для извлечения информации о запросе (например, определения браузера, из которого был выполнен запрос)</li>
10 <li>Для извлечения информации о запросе (например, определения браузера, из которого был выполнен запрос)</li>
11 <li>Для увеличения производительности и кеширования</li>
11 <li>Для увеличения производительности и кеширования</li>
12 </ul><h3>https</h3>
12 </ul><h3>https</h3>
13 <p>Помимо http, в сети все большее распространение получает<a><strong>https</strong></a>. Каждый пользователь сети должен знать, что нельзя выполнять действия, связанные с любыми секретными данными (например, кредитками), на страницах, работающих по протоколу http. В таком случае любой человек, имеющий доступ к оборудованию, которое лежит между вами и сервером, обслуживающим сайт, сможет прочитать эти данные. Обратите внимание, что на популярных сайтах страницы оплаты всегда отдаются по https. В свою очередь, умение работать с https сразу добавляет новые понятия:</p>
13 <p>Помимо http, в сети все большее распространение получает<a><strong>https</strong></a>. Каждый пользователь сети должен знать, что нельзя выполнять действия, связанные с любыми секретными данными (например, кредитками), на страницах, работающих по протоколу http. В таком случае любой человек, имеющий доступ к оборудованию, которое лежит между вами и сервером, обслуживающим сайт, сможет прочитать эти данные. Обратите внимание, что на популярных сайтах страницы оплаты всегда отдаются по https. В свою очередь, умение работать с https сразу добавляет новые понятия:</p>
14 <ul><li>Шифрование, асимметричное шифрование</li>
14 <ul><li>Шифрование, асимметричное шифрование</li>
15 <li>Сертификаты</li>
15 <li>Сертификаты</li>
16 <li>Цифровая подпись</li>
16 <li>Цифровая подпись</li>
17 </ul><h3>TCP/IP</h3>
17 </ul><h3>TCP/IP</h3>
18 <p>Но одним http обойтись не получится. Дело в том, что http существует не сам по себе, а поверх стека протоколов TCP/IP. Базовое знание сетей важно по следующим причинам:</p>
18 <p>Но одним http обойтись не получится. Дело в том, что http существует не сам по себе, а поверх стека протоколов TCP/IP. Базовое знание сетей важно по следующим причинам:</p>
19 <ul><li>Для безопасности. Без базовых знаний легко совершить ошибку и быть взломанным</li>
19 <ul><li>Для безопасности. Без базовых знаний легко совершить ошибку и быть взломанным</li>
20 <li>Для отладки. Даже с малейшими проблемами в работе сайтов сложно справиться без базовых знаний о сетях. Так происходит потому, что немалая часть вопросов запуска и конфигурирования сайтов связана с сетевыми сокетами</li>
20 <li>Для отладки. Даже с малейшими проблемами в работе сайтов сложно справиться без базовых знаний о сетях. Так происходит потому, что немалая часть вопросов запуска и конфигурирования сайтов связана с сетевыми сокетами</li>
21 </ul><h3>DNS</h3>
21 </ul><h3>DNS</h3>
22 <p>Еще один столп веба -<a><strong>DNS</strong></a>, служба доменных имен. Представьте, что мы вбиваем адрес в браузер. В этот момент браузер выполняет DNS-запросы к соответствующим серверам и пытается выяснить, к какому ip-адресу принадлежит сайт. Дело в том, что соединение с сервером идет не по HTTP, а по tcp/ip. HTTP начинает работать уже после того, как было установлено tcp соединение. Знание DNS помогут:</p>
22 <p>Еще один столп веба -<a><strong>DNS</strong></a>, служба доменных имен. Представьте, что мы вбиваем адрес в браузер. В этот момент браузер выполняет DNS-запросы к соответствующим серверам и пытается выяснить, к какому ip-адресу принадлежит сайт. Дело в том, что соединение с сервером идет не по HTTP, а по tcp/ip. HTTP начинает работать уже после того, как было установлено tcp соединение. Знание DNS помогут:</p>
23 <ul><li>Привязать домен к серверу</li>
23 <ul><li>Привязать домен к серверу</li>
24 <li>Настраивать почту для домена</li>
24 <li>Настраивать почту для домена</li>
25 <li>Верифицировать проект различными сервисами</li>
25 <li>Верифицировать проект различными сервисами</li>
26 <li>Быстрее и эффективнее проводить отладку, ведь нередко проблемы загрузки связаны с DNS</li>
26 <li>Быстрее и эффективнее проводить отладку, ведь нередко проблемы загрузки связаны с DNS</li>
27 </ul><h3>Как учить</h3>
27 </ul><h3>Как учить</h3>
28 <p>Тема сетей достаточно подробно раскрыта в книгах по операционным системам. В списке<a>рекомендуемых книг Хекслета</a>есть как минимум одна такая.</p>
28 <p>Тема сетей достаточно подробно раскрыта в книгах по операционным системам. В списке<a>рекомендуемых книг Хекслета</a>есть как минимум одна такая.</p>