Якщо у мене є така 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
- /pathname
search
- ?parameters
hash
- #fragment_identifier
username
- ім'я користувача, вказане перед іменем доменуpassword
- пароль, вказаний перед іменем доменуhref
- всю URL-адресуorigin
- protocol://hostname:port
host
- 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, що зазвичай робиться, якщо порт не вказаний