*127.0.0.1 vs localhost ((непонятки))

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

*127.0.0.1 vs localhost

Сообщение Doka »

Штудируя книжку по РНР (Пола Хадсона. переводная, но изначально изданная O'Reilly, с.287), натолкнулся на такую странную для меня фразу:
Большинство операционных систем позволяют использовать имя localhost для обозначения локального компьютера, и соединение с базой MySQL осуществляется через локальный сокет (socket). В качестве альтернативы вы можете указать IP-адрес 127.0.0.1, который также соответствует локальному компьютеру, и тогда соедиенение с MySQL будет выполняться через протокол TCP/IP, что несколько медленнее

но мне всегда казалось, что 127.0.0.1 и localhost - суть одно и тоже.
localhost - не более чем алиас, прописанный в hosts
разве не так?
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
keir
Сообщения: 317
ОС: linux

Re: *127.0.0.1 vs localhost

Сообщение keir »

localhost != локальный сокет. Мне кажется, это перевод такой.
Trust №1
Спасибо сказали:
Аватара пользователя
Doka
Сообщения: 715
Статус: ASIC Design Engineer
ОС: RHEL4

Re: *127.0.0.1 vs localhost

Сообщение Doka »

keir писал(а):
15.07.2008 10:28
localhost != локальный сокет. Мне кажется, это перевод такой.

а что есть "локальный сокет"??
localhost - я так понимаю, какой же интерфейс, как и остальные, драйвер которого обеспечивает loop - петлю для исходящих пакетов,
а - "локальный сокет"
Never stop thinking..................................................................
Спасибо сказали:
Аватара пользователя
keir
Сообщения: 317
ОС: linux

Re: *127.0.0.1 vs localhost

Сообщение keir »

Под локальным сокетом можно понимать UNIX-адрес, специальный файл, созданный по заданному пути, через который идет обращение к серверу.
Например в конфигурационном файле MySQL можно увидеть строчку

Код: Выделить всё

socket = /var/lib/mysql/mysql.sock
она и указывает на "локальный сокет"
http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%...B5%D0%B9%D1%81)
Trust №1
Спасибо сказали: