Как работает браузер
Это первый, небольшой подготовительный пост на тему анонимности, блокировок РКН, ТСПУ и DPI. Немного полезной информации лишней не будет, ведь так?
Постараюсь объяснить все простыми словами, но если останутся вопросы, то всегда можно написать в комменты, и я постараюсь объяснить то, что осталось непонятным. Мы не будем рассматривать весь процес, а только ту его часть, где нам может помешать РКН.
Погнали.
1. Ты хочешь быстро посмотреть, как обращаться со стендами на PPL.
Для этого, ты переходишь на уже известный тебе URL -
https://pepeland.net/wiki/game/standsURL состоит из 4 компонентов:
➖ Схема (https://): это схема, она сообщает браузеру КАК нужно осуществить подключение, в нашем случае используется Hypertext Transfer Protocol Secure. Данная схема зашифрована, и использует TLS (Transport Layer Sercurity), и именно данный способ защищает вас от множества проблем. Одно время недобросовестные провайдеры встраивали рекламу в HTTP трафик, потому что он не зашифрован, и его можно очень легко подменить/изменить, но HTTPS не только защищает вас от изменений/подмены трафика, но еще и от его просмотра, никто кроме отправителя и получателя не знает что лежит внутри (в идеальном мире).
➖ Домен (pepeland.net): домен сообщает браузеру КУДА нужно совершить подключение, простыми словами - человекопонятный адрес, как например, адрес вашего дома (улица и его номер). Тут можно провести аналогию между кадастровым номером (если кто-то знает что это) и физическим адресом.
➖ Путь (/wiki/game): путь на сервере, откуда мы будем что-то читать, раньше, это представляло из себя простую папку на сервере, внутри которой лежали файлики, сейчас все стало сложнее, но логика осталось прежней, позволяет структуризировать все что есть на сайте.
➖ Ресурс (/stands): представляет из себя файл, внутри папки которую мы рассмотрели чуть выше. Раньше, все страницы оканчивались на .html - расширение файла, но мир совершенствуется, а еще Рилавеон - молодец, поэтому мы не видим никаких расширений в нашем случае. Но если бы это была картинка, то .jpg присутствовал бы в ресурсе в большинстве случаев (но не обязательно).
2. Браузер преобразует домен в IP адрес.
Браузеру в целом без разницы, какой домен вы ввели, его интересуют только цифры, а именно - IP. IPv4 адрес состоит из 4 блоков - например
1.0.0.1. Для этого существует DNS (не магазин) - Domain Name Server, который и выполняет это сопоставление. В базовом режиме, браузер сначала проверяет свой кэш, возможно он уже знает такое сопоставление, а если нет, то спросит у роутера, если роутер тоже не знает, он спросит у следующего устройства по цепочке и так, пока мы не дойдем до корневого DNS сервера который уж точно всё знает. По умолчанию, DNS - не шифрованный протокол.
3. Браузер устанавливает TCP соединение
Дальше рассматривать процесс нет смысла, т.к. на этом этапе существует всего одна проблема, которую может подложить РКН - разрыв соединения, и на это повлиять мы уже никак не сможем, но для заинтересованных - статья из обложки:
https://github.com/alex/what-happens-whenПервично, браузер отправляет TLS рукопожатие серверу, обмениваясь открытыми частями ключа шифрования, если на этом этапе все прошло отлично, то мы переходим дальше, а если нет - в любом современном браузере вы увидите заглушку, что подключение небезопасно.