Что определяет максимальное целочисленное значение для порта URI? - PullRequest
0 голосов
/ 08 мая 2018

RFC 3986 определяет порт URI, как показано ниже - ноль или более цифр. URL http / https определены для разыменования через TCP, поэтому порты будут ограничены [1 65535], но в общем случае URI различных схем у меня возникают проблемы с нахождением четкого максимума.

Для контекста я пишу библиотеку, которая анализирует и обрабатывает URI, и хочу убедиться, что библиотека достаточно общая.

3.2.3. Порт

Подкомпонент порта назначается необязательным номер порта в десятичном формате после хоста и отделенный от него один символ двоеточия (":").

  port        = *DIGIT

Схема может определять порт по умолчанию. Например, схема «http» определяет порт по умолчанию "80", соответствующий его зарезервированному TCP номер порта. Тип порта, обозначенный номером порта (например, TCP, UDP, SCTP) определяется схемой URI. Производители URI и нормализаторы должны опустить компонент порта и его разделитель ":", если Порт пуст или если его значение будет таким же, как у схема по умолчанию.

1 Ответ

0 голосов
/ 09 мая 2018

Для портов TCP, UDP и SCTP диапазон совпадает с исходным сообщением - [1, 65535]. Это можно проверить с помощью соответствующих RFC ( TCP , UDP , SCTP ). Если вы хотите поддерживать любые другие транспортные протоколы, вам нужно изучить их спецификации, чтобы увидеть диапазон. Однако вполне вероятно, что это будет то же самое.

...