AI Engineering Tools

Программирование

Основные сетевые термины

Справочник по сетевым терминам для локальной разработки, браузерных запросов, API, Docker и деплоя.

42 терминов

Адреса и имена

IP-адрес.

IP address

192.168.1.25

Значение

Числовой адрес, используемый для поиска устройства в сети.

Когда использовать

Используйте это, когда другому устройству необходимо получить доступ к вашему компьютеру, серверу или хосту контейнера.

Пример

192.168.1.25

Пример запроса

Объясните, какой IP адрес мне следует использовать с другого устройства.

Адреса и имена

IPv4

IPv4

192.168.0.10

Значение

Общий формат IP-адреса из четырех частей.

Когда использовать

Большинство примеров локальной сети используют IPv4-адреса, такие как 192.168.x.x или 10.x.x.x.

Пример

192.168.0.10

Пример запроса

Сообщите мне, является ли этот адрес адресом локальной сети IPv4.

Адреса и имена

IPv6

IPv6

::1

Значение

Более новый формат IP-адреса, имеющий большую длину, предназначенный для обеспечения гораздо большего количества адресов.

Когда использовать

Вы можете увидеть IPv6 в журналах, привязках к localhost или в выходных данных сетевого интерфейса сервера.

Пример

::1

Пример запроса

Объясните, использует ли этот журнал IPv4 или IPv6.

Адреса и имена

localhost

localhost

http://localhost:3000

Значение

Имя, обозначающее тот же компьютер, на котором работает код или браузер.

Когда использовать

Используйте это с того же компьютера, на котором работает сервер разработки.

Осторожно

На телефоне localhost означает сам телефон, а не ваш компьютер для разработки.

Пример

http://localhost:3000

Пример запроса

Объясните, почему localhost работает на моем компьютере, но не на моем телефоне.

Адреса и имена

127.0.0.1

127.0.0.1

http://127.0.0.1:3000

Значение

Общий IPv4-адрес обратной связи для текущей машины.

Когда использовать

Используйте это в качестве числовой альтернативы localhost.

Пример

http://127.0.0.1:3000

Пример запроса

Объясните, эквивалентны ли localhost и 127.0.0.1 в данном случае.

Адреса и имена

0.0.0.0

0.0.0.0

next dev -H 0.0.0.0

Значение

Адрес, используемый серверами для прослушивания всех доступных сетевых интерфейсов.

Когда использовать

Используйте это, когда другому устройству в той же сети необходимо получить доступ к вашему серверу разработки.

Осторожно

Это может сделать сервер разработки более доступным, чем localhost.

Пример

next dev -H 0.0.0.0

Пример запроса

Объясните, должен ли этот сервер разработки привязываться к 0.0.0.0.

Адреса и имена

Имя хоста.

Hostname

my-laptop.local

Значение

Читаемое имя для устройства или сервера.

Когда использовать

Используйте это, когда имя сети легче запомнить, чем IP-адрес.

Пример

my-laptop.local

Пример запроса

Объясните, разрешается ли этот хост-имя в ожидаемый IP-адрес.

Адреса и имена

Домен

Domain

example.com

Значение

Человекочитаемое интернет-имя для веб-сайта или сервиса.

Когда использовать

Используйте домены для публичных сайтов вместо того, чтобы просить пользователей запоминать IP-адреса серверов.

Пример

example.com

Пример запроса

Объясните, какой домен должен использоваться этим развернутым сайтом.

Адреса и имена

DNS

DNS

example.com -> 93.184.216.34

Значение

Система, которая преобразует доменные имена в IP-адреса.

Когда использовать

Используйте записи DNS при подключении домена к службе хостинга или серверу.

Пример

example.com -> 93.184.216.34

Пример запроса

Объясните, какая запись DNS необходима для этого домена.

Порты и соединения

Порт

Port

3000

Значение

Номер, идентифицирующий приложение или службу, получающие трафик на компьютере.

Когда использовать

Серверы разработки часто используют порты, такие как 3000, 3001, 5173 или 8000.

Пример

3000

Пример запроса

Сообщите мне, какой порт использует этот сервер.

Порты и соединения

Слушать

Listen

Доступно по адресу http://localhost:3000

Значение

Сервер прослушивает, когда он готов принимать запросы на адрес и порт.

Когда использовать

Проверьте выходной поток, чтобы узнать, какой URL можно открыть в браузере.

Пример

Доступно по адресу http://localhost:3000

Пример запроса

Объясните, на каком порту прослушивает этот сервер.

Порты и соединения

Переадресация портов

Port forwarding

8080 -> 3000

Значение

Перенаправление трафика с одного порта или машины на другой порт или машину.

Когда использовать

Используйте это в маршрутизаторах, туннелях, контейнерах и средах удаленной разработки.

Пример

8080 -> 3000

Пример запроса

Объясните, на какой порт выполняется перенаправление.

Порты и соединения

Брандмауэр.

Firewall

Разрешить входящие соединения на порту 3000

Значение

Система правил, которая разрешает или блокирует сетевой трафик.

Когда использовать

Проверьте это, если сервер работает локально, но другое устройство не может подключиться.

Пример

Разрешить входящие соединения на порту 3000

Пример запроса

Объясните, может ли брандмауэр блокировать это локальное соединение.

Web-запросы

URL

URL

https://example.com/docs?page=1

Значение

Полный адрес, используемый для запроса веб-ресурса.

Когда использовать

URL-адрес включает протокол, хост, необязательный порт, путь, строку запроса и иногда фрагмент.

Пример

https://example.com/docs?page=1

Пример запроса

Разделите этот URL на протокол, хост, порт, путь и параметры запроса.

Web-запросы

Путь

Path

/ko/reference/docker

Значение

Часть URL-адреса, которая идентифицирует маршрут или ресурс на сервере.

Когда использовать

Используйте это для понимания, какая страница или конечная точка API запрашивается.

Пример

/ko/reference/docker

Пример запроса

Сообщите мне, к какому маршруту приложения сопоставлен этот URL.

Web-запросы

Строка запроса

Query string

?page=1&lang=ko

Значение

Часть URL-адреса после символа ?, которая передает дополнительные параметры.

Когда использовать

Используйте это для фильтров, номеров страниц, поисковых запросов и легких опций.

Пример

?page=1&lang=ko

Пример запроса

Объясните, какие параметры запроса отправляет этот URL.

Web-запросы

HTTP

HTTP

http://localhost:3000

Значение

Базовый протокол, который браузеры и серверы используют для веб-запросов и ответов.

Когда использовать

Локальная разработка часто использует HTTP до настройки HTTPS для производственной среды.

Пример

http://localhost:3000

Пример запроса

Объясните, использует ли этот локальный URL HTTP или HTTPS.

Web-запросы

HTTPS

HTTPS

https://example.com

Значение

HTTP, защищенный шифрованием TLS.

Когда использовать

Используйте HTTPS для публичных сайтов, входа в систему, cookie, платежей, API и производственного трафика.

Пример

https://example.com

Пример запроса

Объясните, нужен ли этому развернутому сайту HTTPS.

Web-запросы

HTTP-метод

HTTP method

GET /api/tools

Значение

Глагол, указывающий серверу, какой тип действия требуется выполнить.

Когда использовать

GET обычно используется для чтения данных, в то время как POST обычно используется для создания или отправки данных.

Пример

GET /api/tools

Пример запроса

Объясните, какой HTTP метод следует использовать для этого API запроса.

Web-запросы

Код состояния

Status code

200 OK / 404 Not Found / 500 Internal Server Error

Значение

Номер, обобщающий результат ответа HTTP.

Когда использовать

Используйте это для быстрого разделения ответов об успехе, перенаправлении, ошибках клиента и ошибках сервера.

Пример

200 OK / 404 Not Found / 500 Internal Server Error

Пример запроса

Объясните, что означает этот HTTP-код состояния.

Web-запросы

Заголовок

Header

Content-Type: application/json

Значение

Метаданные, отправляемые вместе с HTTP-запросом или ответом.

Когда использовать

Заголовки содержат тип контента, авторизацию, cookie, правила кэширования и настройки CORS.

Пример

Content-Type: application/json

Пример запроса

Объясните важные заголовки в этом ответе.

Web-запросы

Тело

Body

{"name":"demo"}

Значение

Основное содержимое данных, отправляемое в HTTP-запросе или ответе.

Когда использовать

Запросы POST и PUT часто отправляют данные в формате JSON в теле запроса.

Пример

{"name":"demo"}

Пример запроса

Объясните, какие данные отправляет тело этого запроса.

Безопасность браузера

Источник.

Origin

http://192.168.1.25:3000

Значение

Комбинация протокола, хоста и порта.

Когда использовать

Используйте origin для анализа CORS, cookies и правил безопасности браузера.

Осторожно

Изменение только порта создает другой источник.

Пример

http://192.168.1.25:3000

Пример запроса

Определите происхождение этого URL.

Безопасность браузера

Политика одного источника.

Same-origin policy

https://app.example.com cannot freely read https://api.example.com

Значение

Правило браузера, которое ограничивает то, как страницы могут читать данные из других источников.

Когда использовать

Используйте это для понимания, почему запросы API от браузера могут завершаться неудачей, даже если сервер доступен.

Пример

https://app.example.com cannot freely read https://api.example.com

Пример запроса

Объясните, является ли это проблемой политики одного источника.

Безопасность браузера

CORS

CORS

Access-Control-Allow-Origin: https://app.example.com | app.example.com

Значение

Система разрешений на стороне сервера, которая позволяет браузерам использовать ответы от другого источника.

Когда использовать

Используйте это, когда клиентское приложение делает запрос к API, размещенному на другом домене.

Осторожно

CORS должен быть разрешен сервером, отправляющим ответ.

Пример

Access-Control-Allow-Origin: https://app.example.com | app.example.com

Пример запроса

Сообщите мне, следует ли исправлять эту ошибку CORS в коде клиентской части или в настройках сервера.

Безопасность браузера

Cookie (Файлы cookie)

Cookie

Set-Cookie: session=abc; HttpOnly

Значение

Небольшие данные, хранящиеся браузером и отправляемые обратно на соответствующие сайты.

Когда использовать

Cookie (Файлы cookie) часто используются для сессий, предпочтений и состояния аутентификации.

Пример

Set-Cookie: session=abc; HttpOnly

Пример запроса

Объясните, хранится ли это состояние входа в cookie.

Безопасность браузера

Сессия

Session

session_id=abc123

Значение

Способ сохранения состояния пользователя между несколькими запросами.

Когда использовать

Используйте сеансы для поддержания состояния входа в систему или временных данных пользователя на сервере.

Пример

session_id=abc123

Пример запроса

Объясните, как это приложение поддерживает сессию пользователя.

Безопасность браузера

Токен.

Token

Authorization: Bearer <token>

Значение

Строка, используемая для подтверждения личности или прав доступа.

Когда использовать

Используйте токены для аутентификации API, временного доступа и запросов между службами.

Осторожно

Токены могут предоставлять доступ, поэтому их не следует отображать в общедоступном коде или журналах.

Пример

Authorization: Bearer <token>

Пример запроса

Проверьте, передается ли этот токен в браузер.

Безопасность браузера

Сертификат TLS

TLS certificate

Сертификат Let's Encrypt

Значение

Сертификат, используемый HTTPS для подтверждения идентификации сайта и шифрования трафика.

Когда использовать

Используйте это при обслуживании производственного сайта через HTTPS.

Пример

Сертификат Let's Encrypt

Пример запроса

Объясните, почему этот браузер сообщает, что сертификат недействителен.

Локальная разработка

Локальная сеть

Local network

Ноутбук и телефон подключены к одной сети Wi-Fi

Значение

Частная сеть, в которой соседние устройства могут общаться, например, через одну и ту же сеть Wi-Fi.

Когда использовать

Используйте это при тестировании локального сервера разработки на телефоне или планшете.

Пример

Ноутбук и телефон подключены к одной сети Wi-Fi

Пример запроса

Объясните, находятся ли эти устройства в одной локальной сети.

Локальная разработка

LAN IP

LAN IP

192.168.1.25

Значение

IP-адрес, используемый внутри локальной сети.

Когда использовать

Используйте это с другого устройства в той же сети для доступа к вашей машине разработки.

Пример

192.168.1.25

Пример запроса

Сообщите мне разницу между localhost и IP-адресом локальной сети LAN.

Локальная разработка

Сетевой URL.

Network URL

http://192.168.1.25:3000

Значение

URL-адрес, который другое устройство в той же сети может использовать для доступа к локальному серверу.

Когда использовать

Используйте это при тестировании адаптивной страницы на телефоне или планшете.

Осторожно

Сервер разработки также может потребовать прослушивания на 0.0.0.0 и разрешения источника.

Пример

http://192.168.1.25:3000

Пример запроса

Объясните, как открыть этот сервер разработки с телефона.

Локальная разработка

Dev-сервер

Dev server

npm run dev

Значение

Локальный сервер, используемый во время разработки и тестирования приложения.

Когда использовать

Используйте это для быстрой перезагрузки, локального предварительного просмотра и отладки перед сборкой для продакшена.

Пример

npm run dev

Пример запроса

Объясните, какие локальные и сетевые URL предоставляет этот сервер разработки.

Локальная разработка

HMR

HMR

/_next/webpack-hmr

Значение

Функция разработки, которая обновляет браузер при изменении кода.

Когда использовать

Используйте это, чтобы сохранять состояние браузера во время редактирования кода UI.

Пример

/_next/webpack-hmr

Пример запроса

Объясните, связана ли эта заблокированная заявка с HMR.

Сервер и Docker

Прокси-сервер

Proxy

Browser -> proxy -> API

Значение

Сервер, который отправляет запросы от имени клиента.

Когда использовать

Используйте это для маршрутизации запросов, скрытия деталей серверной части или предотвращения прямых вызовов из браузера к API при разработке.

Пример

Browser -> proxy -> API

Пример запроса

Объясните, проходит ли этот API-запрос через прокси-сервер.

Сервер и Docker

Обратный прокси-сервер

Reverse proxy

Nginx -> app:3000

Значение

Сервер, который принимает публичный трафик и перенаправляет его на внутренние сервисы.

Когда использовать

Используйте это для завершения HTTPS, маршрутизации, сжатия, кэширования и перенаправления на серверы приложений.

Пример

Nginx -> app:3000

Пример запроса

Объясните, как этот обратный прокси направляет трафик к приложению.

Сервер и Docker

Docker port mapping

Docker port mapping

3000:3000

Значение

Отображение порта хоста на порт контейнера.

Когда использовать

Используйте это, чтобы браузер на хост-машине мог получить доступ к веб-приложению, работающему внутри контейнера.

Осторожно

В Docker, в разделе портов, левая сторона - это порт хоста, а правая сторона - это порт контейнера.

Пример

3000:3000

Пример запроса

Объясните URL-адрес браузера для этого сопоставления портов Docker.

Сервер и Docker

host.docker.internal

host.docker.internal

http://host.docker.internal:3000

Значение

Специальное имя хоста, которое контейнеры могут использовать для доступа к хост-машине во многих конфигурациях Docker Desktop.

Когда использовать

Используйте это, когда контейнеру необходимо вызвать службу, работающую на хост-машине.

Пример

http://host.docker.internal:3000

Пример запроса

Объясните, следует ли этому контейнеру использовать host.docker.internal.

Сервер и Docker

Имя сервиса

Service name

postgres://db:5432/app

Значение

В Docker Compose сервисы часто могут взаимодействовать друг с другом по имени сервиса.

Когда использовать

Используйте имена служб `compose`, такие как `db`, `api`, `redis` или другие, вместо `localhost` между контейнерами.

Пример

postgres://db:5432/app

Пример запроса

Объясните, почему этот контейнер должен использовать имя сервиса db вместо localhost.

Сервер и Docker

Балансировщик нагрузки

Load balancer

Client -> load balancer -> app servers

Значение

Система, распределяющая входящий трафик между несколькими серверами.

Когда использовать

Используйте это, когда одно приложение имеет несколько экземпляров, работающих одновременно для масштабирования или повышения надежности.

Пример

Client -> load balancer -> app servers

Пример запроса

Объясните, где находится балансировщик нагрузки в этой развертке.

Сервер и Docker

CDN

CDN

Статические ресурсы, обслуживаемые из кэша edge.

Значение

Распределенная сеть, которая предоставляет контент из мест, расположенных ближе к пользователям.

Когда использовать

Используйте это для ускорения загрузки статических ресурсов, изображений, скриптов, стилей и кэшированных страниц.

Пример

Статические ресурсы, обслуживаемые из кэша edge.

Пример запроса

Объясните, будет ли статическому сайту полезен CDN.

Сервер и Docker

Кэш

Cache

Cache-Control: max-age=3600

Значение

Сохраненные данные или ответы используются для ускорения будущих запросов.

Когда использовать

Используйте кэш для статических файлов, ответов API, страниц и контента CDN.

Осторожно

Устаревшие данные в кеше могут создавать впечатление, что исправленная ошибка не была устранена.

Пример

Cache-Control: max-age=3600

Пример запроса

Объясните, может ли эта проблема быть вызвана кэшем.