Что такое http адрес: HTML/URL-протокол «http://»

Содержание

HTML/URL-протокол «http://»

Синтаксис

http://<хост>:<порт>/<путь-к-файлу>?<параметры>#<якорь>

Описание

URL-протокол http:// (от англ. «HyperText Transfer Protocol» ‒ «Протокол Передачи ГиперТекста») протокол прикладного уровня используемый для передачи данных.


Поддержка браузерами

Chrome

Поддерж.

Firefox

Поддерж.

Opera

Поддерж.

Maxthon

Поддерж.

IExplorer

Поддерж.

Safari

Поддерж.

iOS

Поддерж.

Android

Поддерж.


Спецификация

RFCНазвание
1945Hypertext Transfer Protocol — HTTP/1.0
2068Hypertext Transfer Protocol — HTTP/1. 1
2616Hypertext Transfer Protocol — HTTP/1.1
7230Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
7231Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
7232Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
7233Hypertext Transfer Protocol (HTTP/1.1): Range Requests
7234Hypertext Transfer Protocol (HTTP/1.1): Caching
7235Hypertext Transfer Protocol (HTTP/1.1): Authentication
7236Initial Hypertext Transfer Protocol (HTTP)
Authentication Scheme Registrations
7237Initial Hypertext Transfer Protocol (HTTP) Method Registrations
7238The Hypertext Transfer Protocol Status Code 308 (Permanent Redirect)
7538The Hypertext Transfer Protocol Status Code 308 (Permanent Redirect)
7540Hypertext Transfer Protocol Version 2 (HTTP/2)
7694Hypertext Transfer Protocol (HTTP) Client-Initiated Content-Encoding

URL-составляющие

<хост>
Указывается доменное имя или IP-адрес хоста.

http://5.101.153.60/
http://example.com/
<порт>
Указывается порт хоста. Для обычной передачи данных большинство серверов используют порт «80», а для защищённой передачи данных порт «443».

http://example.ru:80

<путь-к-файлу>
Указывается путь к файлу (ресурсу). Путь состоит из названий каталогов и названия файла. Если название каталога начинается с символа «~» ТИЛЬДА [U+007E], то такой каталог является персональным каталогом и принадлежит определённому пользователю (например, http://example.su/~serj/]. Каталогов в пути может и вовсе не быть, если запрашиваемый файл расположен в корневой директории сервера/сайта (например, http://example.su/index.php). Название файла так же может не указываться, если сервер на котором расположен сайт использует программное обеспечение (например, apache), которое имеет функцию/директиву возврата документа (в apache это директива DirectoryIndex файла httpd. conf расположенного в папке conf) с определённым именем, в случае если не указано название запрашиваемого документа [DirectoryIndex index.php index.html].

http://programmerbook.ru/html/a/href/http/
http://programmerbook.ru/html/a/href/http/index.php
<параметры>
Параметры передаваемые (GET методом) на сервер обрабатывающему файлу. В качестве разделителей параметров указывается знак «&» АМПЕРСАНД [U+0026].

http://example.su?text=tag%20a или http://example.su?val1=true&amp;val3=true

<якорь> (имя указателя)
Обозначает определённую часть или какой-либо отрывок документа, к которому необходимо перейти. (Якоря в (X)HTML документе создаются с помощью параметра «name» или глобального параметра «id».)

http://example.su/path/index.html#anchor

запросы — структура (заголовок и тело), методы, строка статуса и коды состояния, ответы

Большинство используемых нами веб- и мобильных приложений постоянно взаимодействуют с глобальной сетью. Почти все подобные коммуникации совершаются с помощью запросов по протоколу HTTP. Рассказываем о них подробнее.

Базово о протоколе HTTP

HTTP (HyperText Transfer Protocol, дословно — «протокол передачи гипертекста») представляет собой протокол прикладного уровня, используемый для доступа к ресурсам Всемирной Паутины. Под термином гипертекст следует понимать текст, в понятном для человека представлении, при этом содержащий ссылки на другие ресурсы.

Данный протокол описывается спецификацией RFC 2616. На сегодняшний день наиболее распространенной версией протокола является версия HTTP/2, однако нередко все еще можно встретить более раннюю версию HTTP/1.1.

В обмене информацией по HTTP-протоколу принимают участие клиент и сервер. Происходит это по следующей схеме: 

  1. Клиент запрашивает у сервера некоторый ресурс.
  2. Сервер обрабатывает запрос и возвращает клиенту ресурс, который был запрошен.

Схема коммуникации устройств по HTTP-протоколу.

По умолчанию для коммуникации по HTTP используется порт 80, хотя вместо него может быть выбран и любой другой порт. Многое зависит от конфигурации конкретного веб-сервера.

Подробнее о протоколе HTTP читайте по ссылке →

HTTP-сообщения: запросы и ответы

Данные между клиентом и сервером в рамках работы протокола передаются с помощью HTTP-сообщений. Они бывают двух видов:

  • Запросы (HTTP Requests) — сообщения, которые отправляются клиентом на сервер, чтобы вызвать выполнение некоторых действий. Зачастую для получения доступа к определенному ресурсу. Основой запроса является HTTP-заголовок.
  • Ответы (HTTP Responses) — сообщения, которые сервер отправляет в ответ на клиентский запрос.

Само по себе сообщение представляет собой информацию в текстовом виде, записанную в несколько строчек.

В целом, как запросы HTTP, так и ответы имеют следующую структуру:

  1. Стартовая строка (start line) — используется для описания версии используемого протокола и другой информации — вроде запрашиваемого ресурса или кода ответа. Как можно понять из названия, ее содержимое занимает ровно одну строчку.
  2. HTTP-заголовки (HTTP Headers) — несколько строчек текста в определенном формате, которые либо уточняют запрос, либо описывают содержимое тела сообщения.
  3. Пустая строка, которая сообщает, что все метаданные для конкретного запроса или ответа были отправлены.
  4. Опциональное тело сообщения, которое содержит данные, связанные с запросом, либо документ (например HTML-страницу), передаваемый в  ответе.

Рассмотрим атрибуты HTTP-запроса подробнее.

Стартовая строка

Стартовая строка HTTP-запроса состоит из трех элементов:

  1. Метод HTTP-запроса (method, реже используется термин verb). Обычно это короткое слово на английском, которое указывает, что конкретно нужно сделать с запрашиваемым ресурсом. Например, метод GET сообщает серверу, что пользователь хочет получить некоторые данные, а POST — что некоторые данные должны быть помещены на сервер.
  2. Цель запроса. Представлена указателем ресурса URL, который состоит из протокола, доменного имени (или IP-адреса), пути к конкретному ресурсу на сервере. Дополнительно может содержать указание порта, несколько параметров HTTP-запроса и еще ряд опциональных элементов.
  3. Версия используемого протокола (либо HTTP/1.1, либо HTTP/2), которая определяет структуру следующих за стартовой строкой данных.

В примере ниже стартовая строка указывает, что в качестве метода используется GET, обращение будет произведено к ресурсу /index.html, по версии протокола HTTP/1.1:

Основные структурные элементы URL.

Разберемся с каждым из названных элементов подробнее.

Методы

Методы позволяют указать конкретное действие, которое мы хотим, чтобы сервер выполнил, получив наш запрос. Так, некоторые методы позволяют браузеру (который в большинстве случаев является источником запросов от клиента) отправлять дополнительную информацию в теле запроса — например, заполненную форму или документ.

Ниже приведены наиболее используемые методы и их описание:

Разберемся с каждым из названных элементов подробнее.

МетодОписание
GETПозволяет запросить некоторый конкретный ресурс. Дополнительные данные могут быть переданы через строку запроса (Query String) в составе URL (например ?param=value).О составляющих URL мы поговорим чуть позже.
POSTПозволяет отправить данные на сервер. Поддерживает отправку различных типов файлов, среди которых текст, PDF-документы и другие типы данных в двоичном виде. Обычно метод POST используется при отправке информации (например, заполненной формы логина) и загрузке данных на веб-сайт, таких как изображения и документы.
HEADЗдесь придется забежать немного вперед и сказать, что обычно сервер в ответ на запрос возвращает заголовок и тело, в котором содержится запрашиваемый ресурс. Данный метод при использовании его в запросе позволит получить только заголовки, которые сервер бы вернул при получении GET-запроса к тому же ресурсу. Запрос с использованием данного метода обычно производится для того, чтобы узнать размер запрашиваемого ресурса перед его загрузкой.
PUTИспользуется для создания (размещения) новых ресурсов на сервере. Если на сервере данный метод разрешен без надлежащего контроля, то это может привести к серьезным проблемам безопасности.
DELETEПозволяет удалить существующие ресурсы на сервере. Если использование данного метода настроено некорректно, то это может привести к атаке типа «Отказ в обслуживании» (Denial of Service, DoS) из-за удаления критически важных файлов сервера.
OPTIONSПозволяет запросить информацию о сервере, в том числе информацию о допускаемых к использованию на сервере HTTP-методов.
PATCHПозволяет внести частичные изменения в указанный ресурс по указанному расположению.

URL

Получение доступа к ресурсам по HTTP-протоколу осуществляется с помощью указателя URL (Uniform Resource Locator). URL представляет собой строку, которая позволяет указать запрашиваемый ресурс и еще ряд параметров.

Использование URL неразрывно связано с другими элементами протокола, поэтому далее мы рассмотрим его основные компоненты и строение:

Поле Scheme используется для указания используемого протокола, всегда сопровождается двоеточием и двумя косыми чертами (://).

Host указывает местоположение ресурса, в нем может быть как доменное имя, так и IP-адрес.

Port, как можно догадаться, позволяет указать номер порта, по которому следует обратиться к серверу. Оно начинается с двоеточия (:), за которым следует номер порта. При отсутствии данного элемента номер порта будет выбран по умолчанию в соответствии с указанным значением Scheme (например, для http:// это будет порт 80).

Далее следует поле Path. Оно указывает на ресурс, к которому производится обращение. Если данное поле не указано, то сервер в большинстве случаев вернет указатель по умолчанию (например index.html).

Поле Query String начинается со знака вопроса (?), за которым следует пара «параметр-значение», между которыми расположен символ равно (=). В поле Query String могут быть переданы несколько параметров с помощью символа амперсанд (&) в качестве разделителя.

Не все компоненты необходимы для доступа к ресурсу. Обязательно следует указать только поля Scheme и Host.

Версии HTTP

Раз уж мы упомянули версию протокола как элемента стартовой строки, то стоит сказать об основных отличиях версий HTTP/1.X от HTTP/2.X.

Последняя стабильная, наиболее стандартизированная версия протокола первого поколения (версия HTTP/1.1) вышла в далеком 1997 году. Годы шли, веб-страницы становились сложнее, некоторые из них даже стали приложениями в том виде, в котором мы понимаем их сейчас. Кроме того, объем медиафайлов и скриптов, которые добавляли интерактивность страницам, рос. Это, в свою очередь, создавало перегрузки в работе протокола версии HTTP/1.1.

Стало очевидно, что у HTTP/1.1 есть ряд значительных недостатков:

  • Заголовки, в отличие от тела сообщения, передавались в несжатом виде.
  • Часто большая часть заголовков в сообщениях совпадала, но они продолжали передаваться по сети.
  • Отсутствовала возможность так называемого мультиплексирования — механизма, позволяющего объединить несколько соединений в один поток данных. Приходилось открывать несколько соединений на сервере для обработки входящих запросов.

С выходом HTTP/2 было предложено следующее решение: HTTP/1.X-сообщения разбивались на так называемые фреймы, которые встраивались в поток данных.

Фреймы данных (тела сообщения) отделялись от фреймов заголовка, что позволило применять сжатие. Вместе с появлением потоков появился и ранее описанный механизм мультиплексирования — теперь можно было обойтись одним соединением для нескольких потоков.

Единственное о чем стоит сказать в завершение темы: HTTP/2 перестал быть текстовым протоколом, а стал работать с «сырой» двоичной формой данных. Это ограничивает чтение и создание HTTP-сообщений «вручную». Однако такова цена за возможность реализации более совершенной оптимизации и повышения производительности.

Заголовки

HTTP-заголовок представляет собой строку формата «Имя-Заголовок:Значение», с двоеточием(:) в качестве разделителя. Название заголовка не учитывает регистр, то есть между Host и host, с точки зрения HTTP, нет никакой разницы. Однако в названиях заголовков принято начинать каждое новое слово с заглавной буквы. Структура значения зависит от конкретного заголовка. Несмотря на то, что заголовок вместе со значениями может быть достаточно длинным, занимает он всего одну строчку.

В запросах может передаваться большое число различных заголовков, но все их можно разделить на три категории:

  1. Общего назначения, которые применяются ко всему сообщению целиком.
  2. Заголовки запроса уточняют некоторую информацию о запросе, сообщая дополнительный контекст или ограничивая его некоторыми логическими условиями.
  3. Заголовки представления, которые описывают формат данных сообщения и используемую кодировку. Добавляются к запросу только в тех случаях, когда с ним передается некоторое тело.

Ниже можно видеть пример заголовков в запросе:

Самые частые заголовки запроса
ЗаголовокОписание
HostИспользуется для указания того, с какого конкретно хоста запрашивается ресурс. В качестве возможных значений могут использоваться как доменные имена, так и IP-адреса. На одном HTTP-сервере может быть размещено несколько различных веб-сайтов. Для обращения к какому-то конкретному требуется данный заголовок.
User-AgentЗаголовок используется для описания клиента, который запрашивает ресурс. Он содержит достаточно много информации о пользовательском окружении. Например, может указать, какой браузер используется в качестве клиента, его версию, а также операционную систему, на которой этот клиент работает.
ReferИспользуется для указания того, откуда поступил текущий запрос. Например, если вы решите перейти по какой-нибудь ссылке в этой статье, то вероятнее всего к запросу будет добавлен заголовок Refer: https://selectel.ru
AcceptПозволяет указать, какой тип медиафайлов принимает клиент. В данном заголовке могут быть указаны несколько типов, перечисленные через запятую (‘ , ‘). А для указания того, что клиент принимает любые типы, используется следующая последовательность — */*.
CookieДанный заголовок может содержать в себе одну или несколько пар «Куки-Значение» в формате cookie=value. Куки представляют собой небольшие фрагменты данных, которые хранятся как на стороне клиента, так и на сервере, и выступают в качестве идентификатора. Куки передаются вместе с запросом для поддержания доступа клиента к ресурсу. Помимо этого, куки могут использоваться и для других целей, таких как хранение пользовательских предпочтений на сайте и отслеживание клиентской сессии. Несколько кук в одном заголовке могут быть перечислены с помощью символа точка с запятой (‘ ; ‘), который  используется как разделитель.
AuthorizationИспользуется в качестве еще одного метода идентификации клиента на сервере. После успешной идентификации сервер возвращает токен, уникальный для каждого конкретного клиента. В отличие от куки, данный токен хранится исключительно на стороне клиента и отправляется клиентом только по запросу сервера. Существует несколько типов аутентификации, конкретный метод определяется тем веб-сервером или веб-приложением, к которому клиент обращается за ресурсом.

Тело запроса

Завершающая часть HTTP-запроса — это его тело. Не у каждого HTTP-метода предполагается наличие тела. Так, например, методам вроде GET, HEAD, DELETE, OPTIONS обычно не требуется тело. Некоторые виды запросов  могут отправлять данные на сервер в теле запроса: самый распространенный из таких методов — POST.

Ответы HTTP

HTTP-ответ является сообщением, которое сервер отправляет клиенту в ответ на его запрос. Его структура равна структуре HTTP-запроса: стартовая строка, заголовки и тело.

Строка статуса (Status line)

Стартовая строка HTTP-ответа называется строкой статуса (status line). На ней располагаются следующие элементы:

  1. Уже известная нам по стартовой строке запроса версия протокола (HTTP/2 или HTTP/1.1).
  2. Код состояния, который указывает, насколько успешно завершилась обработка запроса.
  3. Пояснение — короткое текстовое описание к коду состояния. Используется исключительно для того, чтобы упростить понимание и восприятие человека при просмотре ответа.

Так выглядит строка состояния ответа.

Коды состояния и текст статуса

Коды состояния HTTP используются для того, чтобы сообщить клиенту статус их запроса. HTTP-сервер может вернуть код, принадлежащий одной из пяти категорий кодов состояния:

КатегорияОписание
1xxКоды из данной категории носят исключительно информативный характер и никак не влияют на обработку запроса.
2xxКоды состояния из этой категории возвращаются в случае успешной обработки клиентского запроса.
3xxЭта категория содержит коды, которые возвращаются, если серверу нужно перенаправить клиента.
4xxКоды данной категории означают, что на стороне клиента был отправлен некорректный запрос. Например, клиент в запросе указал не поддерживаемый метод или обратился к ресурсу, к которому у него нет доступа.
5xxОтвет с кодами из этой категории приходит, если на стороне сервера возникла ошибка.

Полный список кодов состояния доступен в спецификации к протоколу, ниже приведены только самые распространенные коды ответов:

КатегорияОписание
200 OKВозвращается в случае успешной обработки запроса, при этом тело ответа обычно содержит запрошенный ресурс.
302 FoundПеренаправляет клиента на другой URL. Например, данный код может прийти, если клиент успешно прошел процедуру аутентификации и теперь может перейти на страницу своей учетной записи.
400 Bad RequestДанный код можно увидеть, если запрос был сформирован с ошибками. Например, в нем отсутствовали символы завершения строки.
403 ForbiddenОзначает, что клиент не обладает достаточными правами доступа к запрошенному ресурсу. Также данный код можно встретить, если сервер обнаружил вредоносные данные, отправленные клиентом в запросе.
404 Not FoundКаждый из нас, так или иначе, сталкивался с этим кодом ошибки. Данный код можно увидеть, если запросить у сервера ресурс, которого не существует на сервере.
500 Internal ErrorДанный код возвращается сервером, когда он не может по определенным причинам обработать запрос.

Помимо основных кодов состояния, описанных в стандарте, существуют и коды состояния, которые объявляются крупными сетевыми провайдерами и серверными платформами. Так, коды состояния, используемые Selectel, можно посмотреть здесь.

Заголовки ответа

Response Headers, или заголовки ответа, используются для того, чтобы уточнить ответ, и никак не влияют на содержимое тела. Они существуют в том же формате, что и остальные заголовки, а именно  «Имя-Значение» с двоеточием (:) в качестве разделителя.

Ниже приведены наиболее часто встречаемые в ответах заголовки:

КатегорияПримерОписание
ServerServer: ngnixСодержит информацию о сервере, который обработал запрос. 
Set-CookieSet-Cookie:PHPSSID=bf42938fСодержит куки, требуемые для идентификации клиента. Браузер парсит куки и сохраняет их в своем хранилище для дальнейших запросов.
WWW-AuthenticateWWW-Authenticate: BASIC realm=»localhost»Уведомляет клиента о типе аутентификации, который необходим для доступа к запрашиваемому ресурсу.

Тело ответа

Последней частью ответа является его тело. Несмотря на то, что у большинства ответов тело присутствует, оно не является обязательным. Например, у кодов «201 Created» или «204 No Content» тело отсутствует, так как достаточную информацию для ответа на запрос они передают в заголовке.

Безопасность HTTP-запросов, или что такое HTTPs

HTTP является расширяемым протоколом, который предоставляет огромное количество возможностей, а также поддерживает передачу всевозможных типов файлов. Однако, вне зависимости от версии, у него есть один существенный недостаток, который можно заметить если перехватить отправленный HTTP-запрос:

Да, все верно: данные передаются в открытом виде. HTTP сам по себе не предоставляет никаких средств шифрования.

Но как же тогда работают различные банковские приложения, интернет-магазины, сервисы оплаты услуг и прочие приложения, в которых циркулирует чувствительная информация пользователей?

Время рассказать про HTTPs! 

HTTPs (HyperText Transfer Protocol, secure) является расширением HTTP-протокола, который позволяет шифровать отправляемые данные, перед тем как они попадут на транспортный уровень. Данный протокол по умолчанию использует порт 443.

Теперь если мы перехватим не HTTP , а HTTPs-запрос, то не увидим здесь ничего интересного:

Данные передаются в едином зашифрованном потоке, что делает невозможным получение учетных данных пользователей и прочей критической информации средствами обычного перехвата.

Повысьте безопасность на сетевых портах с Selectel

Три межсетевых экрана для любых потребностей бизнеса.

Выбрать

Если хотите подробнее узнать о деталях работы протокола, читайте статью в нашем блоге →

Как отправить HTTP-запрос и прочитать его ответ

Теория это, конечно, отлично, но ничего так хорошо не закрепляет материал, как практика

Мы рассмотрим несколько способов, как написать HTTP-запрос в браузер, послать HTTP-запрос на сервер и получить ответ:

  1. Инструменты разработчика в браузере. 
  2. Утилита cURL.

Инструменты разработчика

Основной программой на наших устройствах, которая работает с HTTP-протоколом, в большинстве случаев является браузер. Помимо обычных пользователей, с браузерами часто работают и разработчики веб-приложений. Именно их инструментами мы воспользуемся для работы с запросами и ответами.

По нажатию комбинации клавиш [Ctrl+Shift+I] или просто [F12] в подавляющем большинстве современных браузеров у нас откроется окно инструментов разработчика, которая представляет собой панель с несколькими вкладками. Нужная нам вкладка обычно называется Network. Перейдем в нее, а в адресной строке введем URL того сайта, на который хотим попасть. В качестве примера воспользуемся сайтом блога Selectel — https://selectel.ru/blog/.

После нажатия Enter сайт начнет загружаться, а открытая вкладка Network — заполняться различными элементами, начиная все больше напоминать приборную панель самолета.

Не спешите пугаться. Это всего лишь список ресурсов, которые нужны для правильного отображения и работы сайта.

Нажав на любой из них, мы можем увидеть детали обработки отправленного запроса:

В данном запросе, например:

  • URL, к которому было совершено обращение — https://selectel.ru/blog,
  • Метод, который был использован в запросе — GET,
  • И в качестве кода возврата сервер вернул нам страницу с кодом статуса — 200 OK 

Утилита cURL

Следующий инструмент, с помощью которого мы сможем послать запрос на тот или иной сервер, это утилита cURL.

cURL (client URL) является небольшой утилитой командной строки, которая позволяет работать с HTTP и рядом других протоколов.

Для отправки запроса и получения ответа мы можем воспользоваться флагом -v и указанием URL того ресурса, который мы хотим получить. «Схему» HTTP-запроса можно увидеть на скрине ниже:

После запуска утилита выполняет: 

  • подключение к серверу, 
  • самостоятельно разрешает все вопросы, необходимые для отправки запроса по HTTPs, 
  • отправляет запрос, содержимое которого мы можем видеть благодаря флагу -v,
  •  принимая ответ от сервера, отображает его в командной строке «как-есть».  

Помимо этого, у данной утилиты есть огромное количество опций, которые предоставляют возможности по детальной настройке отправляемых запросов. Все эти возможности и делают ее такой популярной у веб-разработчиков и других специалистов, которым приходится работать с протоколом HTTP.

Заключение

HTTP представляет собой расширяемый протокол прикладного уровня, на котором работает весь веб-сегмент интернета. В данной статье мы рассмотрели принцип его работы, структуру, «компоненты» HTTP-запросов. Коснулись вопросов отличия версий протокола, HTTPs  — его расширения, добавляющего шифрование. Разобрали устройство запроса, поняли, как можно отправить HTTP-запрос и получить ответ от сервера.

Объяснение URL-адреса веб-сайта

| WP Engine

Опубликовано в Маркетинг, Производительность, SEO Автор Саманта Родригес

Последнее обновление 25 мая 2022 г. Как вы, вероятно, знаете, обе концепции влияют на ваши повседневные действия в Интернете, поскольку они являются неотъемлемой частью всех URL-адресов веб-сайтов. Однако эта база знаний не совсем понятна подавляющему большинству интернет-пользователей.

HTTP и WWW были инициированы в конце 1980-х годов сэром Тимом Бернерсом-Ли, британским ученым-компьютерщиком. Его проект — Всемирная паутина — включал HTTP и WWW, работающие вместе друг с другом, играя решающую роль в невероятной системе, которую мы сегодня воспринимаем как должное.

В этом посте мы обсудим, что такое URL-адрес веб-сайта, и объясним различия между HTTP и WWW. Мы также выделим, как каждый из них используется в URL-адресе, и их важность в доменных именах веб-сайтов. Давайте начнем!

HTTP против WWW

Как упоминалось выше, HTTP — это стандартный «язык», используемый для связи между веб-браузерами и серверами веб-сайтов.

WWW расшифровывается как World Wide Web и используется в основном как префикс. Однако это указывает на то, что данный веб-сайт использует HTTP для связи.

Основное различие между WWW и HTTP заключается в том, что они относятся к разным понятиям. Проще говоря, HTTP — это протокол, который позволяет общаться в Интернете, передавая данные с одной машины на другую. WWW — это набор связанных гипертекстовых документов, которые можно просматривать в веб-браузере (например, Google Chrome, Firefox и т. д.).

Однако основное сходство заключается в том, что и HTTP, и WWW используются в URL-адресах веб-сайтов.

HTTP и WWW в URL-адресах

В параметрах URL можно удалить HTTP или WWW у вашего регистратора домена. Однако ситуации, в которых вы бы удалили один из этих элементов, зависят от нескольких факторов.

Как мы уже говорили выше, WWW — это префикс, используемый для обозначения того, что веб-сайт использует HTTP для связи. На самом деле вы можете смешивать и сочетать префиксы, например http://example.com или www.example.com .

Эти разные URL-адреса содержат достаточно информации для связи между браузером и сервером, поэтому оба будут работать без перебоев.

Итак, что, если вы решите использовать http://example.com в качестве URL-адреса своего веб-сайта, но пользователи вводят WWW там, где это не нужно? В большинстве случаев пользователь будет автоматически перенаправлен на ваш не WWW-домен. Это означает, что вы можете без проблем настроить URL-адрес, не относящийся к WWW.

Нужен ли вам WWW в URL-адресах?

На самом деле нет необходимости использовать WWW в URL-адресах. Он существует только для одной цели — определить веб-адрес. Это не относится к другим важным указателям URL, таким как сервер протокола передачи файлов (FTP) ( ftp ) или сервер новостей ( news ). Таким образом, WWW можно классифицировать как поддомен более крупного веб-сайта.

В большинстве случаев WWW не служит техническим целям. Вы можете создать собственный домен без его присутствия, и веб-сайт по-прежнему будет работать как любой веб-сайт.

Итак, почему так часто используется WWW? Использование WWW началось с момента создания Интернета, и его широкое использование в качестве поддомена было в значительной степени случайным.

Первым веб-сервером был nxoc01.cern.ch. При публикации веб-сайта создатели полностью рассчитывали, что info.cern.ch будет их домашней страницей, а WWW как таковая была исключена. Записи системы доменных имен (DNS) для сервера никогда не переключались, и использование WWW стало непреднамеренной стандартной практикой.

Как уже упоминалось, можно создать собственное доменное имя без включения WWW. Тем не менее, есть некоторые соображения, которые следует иметь в виду.

Домен или веб-адрес без WWW

В большинстве случаев пользователю не нужно вводить WWW для просмотра вашего веб-адреса или домена. Однако, если вы внедрили WWW для различения поддоменов, важно убедиться, что ваш сайт настроен для обеспечения соответствующих перенаправлений для пользователей.

Для некоторых веб-сайтов добавление WWW в www.example.com может привести к перенаправлению на example.com . Для других это могут быть две отдельные страницы на одном домене. Ваш провайдер веб-хостинга должен помочь вам настроить правильные перенаправления.

WWW и не WWW для SEO

Если у вас есть веб-сайт, поисковая оптимизация (SEO) должна иметь высокий приоритет. Имея хорошую SEO-стратегию, вы можете лучше гарантировать, что ваш сайт будет занимать высокие позиции на страницах результатов поисковой системы (SERP) и в результате будет привлекать больше трафика.

В конечном счете, то, используете ли вы WWW или не WWW доменное имя, не имеет значения для вашего SEO. Однако имеет значение то, что вы решили придерживаться одного или другого (и не смешивать оба элемента).

В целях SEO вы хотите использовать один URL-адрес (WWW или не WWW) последовательно на всем веб-сайте. Это означает, что все URL-адреса, прикрепленные к вашему домену, должны иметь одинаковое обозначение.

Это гарантирует, что рейтинг вашего веб-сайта не будет разделен между двумя разными доменами (например, www.example.com и example.com ), но применяется только к вашему каноническому домену.

Чтобы увидеть пошаговый пример запуска домена в WP Engine, мы собрали этот ресурс: Запуск домена в WP Engine.

Нет сомнений в том, что более технические аспекты веб-хостинга могут быть пугающими. Вот почему вы должны выбрать хостинг-провайдера со знаниями, опытом и технологиями, которые помогут вам.

WP Engine — это хост, ориентированный на WordPress, который может помочь вам создать быстрый, надежный и безопасный веб-сайт. Чтобы узнать больше о WP Engine и его многочисленных предложениях, ознакомьтесь с нашими планами управляемого хостинга!

Анатомия URL-адреса

В феврале 2010 года технический веб-журнал Read Write Web опубликовал статью под названием Facebook хочет быть вашим единственным верным логином. В статье речь шла о новом партнерстве между Facebook и AOL, направленном на упрощение входа пользователей в Facebook. Что довольно иронично, учитывая то, что произошло дальше.

Вскоре после публикации статье каким-то образом удалось занять первое место в Google по поисковому запросу Вход в Facebook . Поэтому, когда тысячи людей начали приземляться на эту страницу Read Write Web , полагая, что это страница входа в Facebook, они приступили к входу! Конечно, они не могли войти в систему, потому что это был не тот сайт Facebook, на котором они находились! Комментарии в то время были экстраординарными: пользователи не верили, что их данные доступа не работают на странице входа в систему для чтения и записи.

Кто виноват?

Что не так с этой ситуацией? Кто виноват, что они сделали поиск Вход в Facebook и переход на сайт, который не является страницей входа в Facebook? Некоторые утверждали, что виноват Google, потому что эти люди уже были знакомы с таким способом входа в Facebook, и поскольку результаты Google изменились, они не должны были знать лучше? Другие утверждали, что вина лежит на лицах, о которых идет речь, потому что они никогда не выполняли самую элементарную проверку безопасности. .. чтобы проверить URL-адрес.

URL-адрес не проверяли?

Очевидно, нет. Привет? Фишинговые мошенничества?

Что такое URL-адрес?

URL-адрес означает Единый указатель ресурса или, другими словами, веб-адрес онлайн-ресурса, то есть веб-сайта или документа.

Веб-браузеры отображают URL-адрес в адресной строке

Каждый веб-сайт, который вы посещаете, имеет URL-адрес. Следующий URL указывает на эту статью: https://doepud.co.uk/anatomy-of-a-url .

URL создан одним из двух способов

  1. после перехода по ссылке на веб-странице, в закладке или по электронной почте
  2. , введя URL прямо в адресную строку
  3. .

♫ Протокол связан с доменным именем, а доменное имя связано с путем к файлу… ♫

Используя URL-адрес этой статьи в качестве примера, три основные части URL-адреса, которые вы должны понимать, это протокол , доменное имя и путь .

И, основываясь на примере URL-адреса из определений URL-адресов Мэтта Каттса, вот пример более сложного URL-адреса:

Объяснение анатомии URL

Протокол
Протокол определяет, как ваш веб-браузер должен взаимодействовать с веб-сервером при отправке или получении веб-страницы или документа. Самый распространенный протокол — http , что означает протокол передачи гипертекста.
Другим распространенным протоколом является https , что означает безопасный протокол передачи гипертекста. Вы увидите это на защищенных страницах, таких как сайты покупок и страницы входа. Если вы посещаете сайт, на котором вам нужно ввести конфиденциальную информацию, например банковские реквизиты и пароли, убедитесь, что протокол объявлен как https . Это означает, что ваш веб-браузер шифрует любую предоставленную вами информацию, чтобы ее не могли понять никакие фишеры, пытающиеся перехватить страницу во время передачи.
Некоторые протоколы, которые вы вряд ли увидите, включают ftp (протокол передачи файлов), pop (протокол почтового отделения), smtp (простой протокол передачи почты) и imap (протокол доступа к сообщениям в Интернете). Если вы хотите узнать больше, вот список протоколов.
Субдомен
Субдомен — это подразделение основного доменного имени. Например, mail.doepud.com и calendar.doepud.com являются поддоменами доменного имени doepud.com .
Доменное имя
Доменное имя — это уникальная ссылка, которая идентифицирует веб-сайт в Интернете, например, doepud.co.uk . Доменное имя всегда включает домен верхнего уровня (TLD), который в случае Doepud — uk . Часть co является сокращением от коммерческого, а объединенный .co.uk называется доменом второго уровня (SLD).
Порт
Номер порта редко отображается в URL-адресах, но всегда требуется. Когда он объявлен в URL-адресе, он идет сразу после TLD, разделенного двоеточием. Когда объявлено , а не , и в большинстве случаев, когда используется протокол http, используется порт 80. Для https (безопасных) запросов используется порт 443.
Узнайте больше о номерах портов в URL-адресах.
Путь
Путь обычно относится к файлу или каталогу на веб-сервере, например. /каталог/файл.php .
Иногда имя файла не указывается, например. https://doepud.co.uk/blog/, поэтому веб-браузер будет автоматически искать в папке /blog/ файл с именем index или default . Если ни один из них не может быть найден, сервер обычно возвращает ошибку 404 Not Found .
Запрос
Запрос обычно встречается в URL-адресе динамических страниц (созданных из базы данных или пользовательского содержимого) и представлен знаком вопроса, за которым следует один или несколько параметров. Запрос следует непосредственно за доменным именем, путем или номером порта.
Например, взгляните на этот URL-адрес, который был сгенерирован Google при поиске слова URL :

http://www.google.co.uk/search?q=anatomy+of+a+ url&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a .

Часть запроса:

?q=anatomy+of+a+url&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a .

Параметры
Параметры — это фрагменты информации, содержащиеся в строке запроса URL-адреса. Что касается приведенного выше запроса Google, параметры следуют за вопросительным знаком и разделяются символом амперсанда (&), чтобы их можно было понимать по отдельности и использовать для отображения контента на этой странице. Параметры: