Почему разница в форматировании URL?

366
Lazer
  • Почему некоторые URL заканчиваются, .htmlа некоторые нет, а большинство - HTML-страницы?

  • Почему некоторые URL начинаются с wwwнекоторых, а некоторые нет, а все они находятся в World Wide Web?

6
Не все URL-адреса находятся в Интернете. `ftp: // example.com` не указывает на HTTP-сервер, даже если` http: // example.com`. quack quixote 14 лет назад 0

2 ответа на вопрос

4
Snark

Потому что часто в наше время HTML-страницы генерируются динамически.

В большинстве случаев расширение описывает производителя HTML-страницы. Например, .asp означает, что страница была сгенерирована ASP- кодом (программный код, встроенный в страницу). То же самое для .jsp, Java Server Pages, которые находятся на страницах сервера, содержащих смесь кода HTML и Java. Есть много других расширений, которые используют тот же механизм (.do, .aspx, .cf, ...)

В конце концов, все, что получает браузер - это HTML, но вся компиляция и логика были запущены на серверах.

Для www.mydomain.com это фактически означает, что вы обращаетесь к серверу (или маршрутизатору) с именем "www" в домене mydomain.com. Хотя это соглашение, вы не обязаны следовать ему. Домены (в записях DNS) можно настроить так, чтобы они говорили «если не указано явное имя сервера, отправляйте запросы на веб-сервер»).

Вы также можете дать любое другое имя веб-серверу и сделать его известным как, например, http://mywebserver.mydomain.com .

Обратите внимание, что внешнее имя (www, mywebserver) в большинстве случаев не относится к физическому имени веб-сервера. На больших сайтах несколько серверов обрабатывают запросы, приходящие к одному имени.

Какое имя веб-сервера используется для `http: // stackoverflow.com`? Lazer 13 лет назад 0
2
akira

URL состоит из нескольких частей:

  • часть протокола
  • серверная часть
  • часть файла / ресурса

    протокол: // сервер / file_or_resource

часть протокола - http: // или ftp: // или ssh: //, или что вы можете придумать. серверная часть - это все, что находится между частью протокола и частью файла / ресурса.

http://google.com/index.html 

в этом случае это "google.com", в других - "user @ machine: port". Итак, это ответ на ваш второй вопрос: некоторые машины называются «www.hostname.com», а некоторые другие называются «hostname.com».

как только ваш браузер / обработчик протокола подключается к серверу, описанному в серверной части, через протокол, описанный через протокольную часть URL-адреса, он запрашивает у сервера ресурс, указанный в ресурсной части. и вот ответ на ваш первый вопрос: вы запрашиваете у сервера файл / ресурс, а сервер отвечает.

http://google.com/index.html <- you ask it for "index.html" 

если на сервере есть, хорошо. если имя «foo.bar» и файл существует, хорошо. если сервер знает, что делать, когда вы спрашиваете его "more.money" .. круто.

Подробнее об этом читайте в Википедии .

Похожие вопросы