Якщо у мене є така URL-адреса:
http://www.example.com:9090/test.html
Тоді я знаю, що www.example.comце ім’я хоста, але що ти називаєш http://www.example.com:9090? Чи існує якась усталена назва для цього?
Якщо у мене є така URL-адреса:
http://www.example.com:9090/test.html
Тоді я знаю, що www.example.comце ім’я хоста, але що ти називаєш http://www.example.com:9090? Чи існує якась усталена назва для цього?
Відповіді:
Я не знаю назви, коли у нього є схема, але ім'я хосту з портом загальновідомо як Authority. Гарне пояснення here.
Це називається походженням .
Якщо говорити загальніше, то тут є різні частини URL-адреси відповідно до window.location. (Так принаймні відповідно до того, як це називає Javascript)
protocol://username:password@hostname:port/pathname?search#hash
-----------------------------href------------------------------
-----host----
----------- origin -------------
protocol - схема протоколу URL, включаючи остаточне ':'hostname - Доменне ім'яport - номер портуpathname - /pathnamesearch - ?parametershash - #fragment_identifierusername - ім'я користувача, вказане перед іменем доменуpassword - пароль, вказаний перед іменем доменуhref - всю URL-адресуorigin - protocol://hostname:porthost - hostname:portФормальне визначення наведено у розділі 4 RFC 6454.
window.location, отже, це імена для "контексту браузера". Див. Інші відповіді для інших цілей.
Збереживши протокол, ви можете назвати "www.example.com" як ім'я хосту або, точніше, "повністю кваліфіковане ім'я домену".
Підкиньте "9090", і особисто мені було б зручно називати його хостом, оскільки це зазвичай ви отримуєте як заголовок "хост" у запиті HTTP; щось на зразок "хост: www.example.com:9090". У PHP він буде зберігатися у $_SERVERзмінній під "HTTP_HOST" або "SERVER_NAME". У JavaScript це буде доступно як document.location.host.
Не знаю, як би ви це могли назвати, коли кинете в "http: //" :(
RFC 3986 детально описує компоненти синтаксису . Частина, на яку ви посилаєтесь, буде схемою ( http) та повноваженнями ( www.example.com:9090).
windows.location? Я збентежений! Будемо. наприклад, назвати це protocolчи scheme?
FWIW, клас .ri Framework .Net відповідає "GetLeftPart ()". Роздратовує відсутність власної назви "схема + авторитет"
Я не думаю. Якби це було, я би очікував, що DOM відобразить це в класі window.location: https://developer.mozilla.org/En/DOM/Window.location
Це означає, що сервер HTTP, що розміщує example.com, використовує порт 9090для обробки HTTP-запитів; це директива браузеру, що він повинен підключатися до цього сервера через порт 9090 замість 80, що зазвичай робиться, якщо порт не вказаний