Почему Ruby on Rails использует http://0.0.0.0:3000 вместо http://localhost:3000?

Я думал бы, что Вы будете иметь к самокрутке:

return (x instanceof Foo) ? (Foo) x : null;

РЕДАКТИРОВАНИЕ: Если Вы не хотите, чтобы Ваш клиентский код имел дело с пустыми указателями, то можно представить Несуществующий объект

interface Foo {
    public void doBar();
}
class NullFoo implements Foo {
    public void doBar() {} // do nothing
}
class FooUtils {
    public static Foo asFoo(Object o) {
        return (o instanceof Foo) ? (Foo) o : new NullFoo();
    }
}
class Client {
    public void process() {
        Object o = ...;
        Foo foo = FooUtils.asFoo(o);
        foo.doBar(); // don't need to check for null in client
    }
}

40
задан Lou 25 September 2009 в 17:59
поделиться

2 ответа

Localhost буквально означает «ваш локальный хост», обычно идентифицируемый 127.0.0.1, и весь трафик на этот адрес маршрутизируется через интерфейс обратной связи. Если ваш веб-сервер прослушивает соединения на 127.0.0.1, это означает, что он принимает запросы только от одного и того же хоста.

0.0.0.0 означает, что Rails прослушивает все интерфейсы, а не только интерфейс обратной связи.

57
ответ дан 27 November 2019 в 01:30
поделиться

0.0.0.0 означает все интерфейсы. Включая 127.0.0.1 aka localhost .

21
ответ дан 27 November 2019 в 01:30
поделиться
Другие вопросы по тегам:

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