Что происходит, когда вводишь URL и нажимаешь Enter (высокий уровень)
Без CDN:
- Когда пользователь вводит URL в браузер, браузер делает запрос к DNS-серверу, чтобы получить IP-адрес сервера, связанного с этим URL.
- После того как браузер получил IP-адрес от DNS, он делает запрос к серверу. Этот сервер — nginx, который может либо отдать статический контент браузеру, либо перенаправить запрос на сервер бекенда для получения динамического контента.
- Статический контент — неизменяемые файлы (html, css, javascript) — фронтенд.
- Динамический контент — контент, генерируемый динамически на бекенде.
- Браузер, после получения статического контента, взаимодействует с ним. Этот статический контент может с помощью JavaScript-кода отправить запрос для получения дополнительной информации.
- Этот запрос также придет в nginx, а он перенаправит его на сервер бекенда. Сервер бекенда отдаст нужные данные nginx, а он отдаст их браузеру.
С CDN:
- Когда пользователь вводит URL в браузер, браузер делает запрос к DNS-серверу, чтобы получить IP-адрес сервера, связанного с этим URL.
- Если веб-сервис настроен на использование CDN, записи DNS будут указывать на серверы CDN, а не на оригинальный сервер (nginx).
- После того как браузер получил IP-адрес от DNS, он делает запрос к серверу CDN.
- CDN проверяет, есть ли запрошенные файлы (статические) в кэше. Если файлы есть в кэше, CDN возвращает их в браузер. Если файлы отсутствуют или кэш устарел, CDN делает запрос к оригинальному серверу (nginx) за свежими копиями файлов.
- Сервер (nginx) возвращает запрошенные файлы CDN, который в свою очередь кэширует их и отправляет браузеру.
- После загрузки статического контента, уже сам JavaScript-код на клиенте может делать запросы к серверу. Эти запросы могут быть направлены на CDN (если CDN настроен на кэширование динамического контента или API-ответов) или напрямую на сервер (nginx), в зависимости от конфигурации.
Без CDN:
- Когда пользователь вводит URL в браузер, браузер делает запрос к DNS-серверу, чтобы получить IP-адрес сервера, связанного с этим URL.
- После того как браузер получил IP-адрес от DNS, он делает запрос к серверу. Этот сервер — nginx, который может либо отдать статический контент браузеру, либо перенаправить запрос на сервер бекенда для получения динамического контента.
- Статический контент — неизменяемые файлы (html, css, javascript) — фронтенд.
- Динамический контент — контент, генерируемый динамически на бекенде.
- Браузер, после получения статического контента, взаимодействует с ним. Этот статический контент может с помощью JavaScript-кода отправить запрос для получения дополнительной информации.
- Этот запрос также придет в nginx, а он перенаправит его на сервер бекенда. Сервер бекенда отдаст нужные данные nginx, а он отдаст их браузеру.
С CDN:
- Когда пользователь вводит URL в браузер, браузер делает запрос к DNS-серверу, чтобы получить IP-адрес сервера, связанного с этим URL.
- Если веб-сервис настроен на использование CDN, записи DNS будут указывать на серверы CDN, а не на оригинальный сервер (nginx).
- После того как браузер получил IP-адрес от DNS, он делает запрос к серверу CDN.
- CDN проверяет, есть ли запрошенные файлы (статические) в кэше. Если файлы есть в кэше, CDN возвращает их в браузер. Если файлы отсутствуют или кэш устарел, CDN делает запрос к оригинальному серверу (nginx) за свежими копиями файлов.
- Сервер (nginx) возвращает запрошенные файлы CDN, который в свою очередь кэширует их и отправляет браузеру.
- После загрузки статического контента, уже сам JavaScript-код на клиенте может делать запросы к серверу. Эти запросы могут быть направлены на CDN (если CDN настроен на кэширование динамического контента или API-ответов) или напрямую на сервер (nginx), в зависимости от конфигурации.