- Service Name and Transport Protocol Port Number Registry. - IANA
- List of TCP and UDP port numbers. - Wikipedia
Порт - это логическая форма для идентификации системных действий или различных сетевых служб, используемых для создания локальных или сетевых коммуникаций.
Номер порта - это 16-битное (2 в 16) числовое значение, которое находится в диапазоне от 0 до 65535:
- Известные порты (0-1023), вам потребуются специальные привилегии (root или cap_net_bind_service в Linux)
- Зарегистрированный порт (1024-49151). Для конкретных приложений.
- Динамический порты - это три типа пространства номеров портов. (49152-65535).
Посмотреть конвенцию портов в UNIX системах -
/etc/services
или в RFC-1700 для Linux.
Порты могут быть открыты и использованы программными приложениями и службами операционной системы для отправки и получения данных по сетям (LAN или WAN), использующим определенные протоколы (например, TCP/UDP).
Представьте, что ваш компьютер — это большое здание, а программы внутри него — это разные офисы. Порты — это двери в эти офисы. Когда данные приходят на ваш компьютер, они смотрят на номер порта, чтобы узнать, в какой "офис" им нужно пойти.
Например, когда вы открываете веб-страницу, ваш браузер обычно использует порт 80 или 443, чтобы понять, что это данные для веб-браузера, а не для какой-то другой программы.
Существующее количество портов обеспечивает корректное функционирование всех приложений, которым необходимо использовать сетевое соединение.
URL (Универсальный локатор ресурсов) - это способ идентификации и доступа к ресурсам в интернете. Рассмотрим URL на примере http://www.example.com:8080/page.html
:
- http - схема, определяющая протокол передачи данных (в данном случае HTTP). example.com- это доменное имя или адрес сервера.
- 8080 - номер порта сервера.
- /page.html - путь к файлу или ресурсу на сервере.
Номер порта в URL указывает, на каком сетевом порте сервер ожидает соединения для данного протокола. Это важно, поскольку серверы могут обслуживать множество портов одновременно, каждый из которых может обслуживать разные протоколы или приложения.
Некоторые из соглашений по номеру портов более важны, чем другие: если вы обслуживаете HTTP(S)-сервер на чем-то отличном от 80/443, вы запутаете веб-браузеры, и никто не сможет посетить ваш сайт. Но совершенно ничто не мешает вам это сделать, потому что придется писать http://somesite:1234/helloworld.html
если этот сервер использует порт 1234, то он будет работать.
Но ваши URL-адреса будут выглядеть запутанными для обычных пользователей. В браузерной строке мы не пишем :80
, потому что браузер просто заполняет для вас :80
при добавлении протокола.
Просто среднестатистический человек с трудом может набрать github.com
, поэтому браузеры начали делать github.com:443
за нас.
Например, в повседневной работе мы используем порт 80 для серфинга по HTTP-веб-страницам с открытым текстом и порт 443 для шифрованных веб-сайтов на базе HTTPS.
- Порт 22 - ssh;
- Порт 25(SMTP) - письма отправляются в глобальную сеть в поисках своего адресата;
- Порт 53 - DNS (Domain Name System);
- Порт 80 - для HTTP;
- Порт 110(POP3) - используется для получения электронных писем;
- Порт 443 - для HTTPS(SSL/TLS);
- Порт 548 - Apple Filing Protocol проприетарный протокол Apple для файловых служб macOS;
- Порт 666 - используется в играх Doom, Doom 2 компанией id Software;
- Порты 8080 и 8000 выбирают, тк это выше 1024 ( => вам не нужны какие-либо специальные (root) привилегии) и их легко запомнить, поскольку стандартный порт HTTP — 80;
Узнать идентификатор процесса (PID), занимающего номер порта (например, 3000): sudo lsof -i :3000
2.3.2.2 Internet Protocol Theme | Back To iOSWiki Contents | 2.3.2.5 Web Socker Theme