Абсолютные пути и URL
Вы правы, абсолютные URL-адреса в Linux должны начинаться с /
, поэтому проверки косой черты в начале пути будет достаточно.
Для URL-адресов вам необходимо проверить http://
и https://
, поскольку вы написали, однако, есть и другие URL-адреса, начинающиеся с ftp://
, sftp://
или smb://
. Так что это очень зависит от того, какой диапазон использования вы хотите охватить.
Неправильные пути и URL-адреса
При условии, что вы имеете в виду Linux, единственными символами, которые запрещены в пути, являются /
и \0
. Это на самом деле очень зависит от файловой системы, однако, вы можете предположить, что вышеупомянутое будет правильным для большинства случаев использования.
В Windows все сложнее. Вы можете прочитать об этом в документации по методу Path.GetInvalidPathChars под примечаниями.
URL-адреса более сложны, чем пути Linux, так как единственные допустимые символы: A-Z
, a-z
, 0-9
, -
, .
, _
, ~
, :
, /
, ?
, #
, [
, ]
, @
, !
, $
, &
, '
, (
, )
, *
, +
, ,
, ;
и =
(как описано в другом ответе здесь ).
Относительные пути и URL
Обычно пути и URL-адреса, которые не являются ни абсолютными, ни недействительными, являются относительными.