14

Я только что скачал копию нового браузера Firefox Developer Edition и начал возиться с инструментами разработки.

Я заметил, что некоторые ссылки и скрипты были загружены через chrome:// urls, которые, как я думал, были зарегистрированы для Google Chrome.

Вот некоторые из этих строк в частности.

<link id="favicon" rel="icon" type="image/png" href="chrome://branding/content/icon32.png"></link>
<link rel="stylesheet" type="text/css" media="all" href="chrome://browser/content/searchSuggestionUI.css"></link>
<link rel="stylesheet" type="text/css" media="all" defer="defer" href="chrome://browser/content/abouthome/aboutHome.css"></link>
<script type="text/javascript;version=1.8" src="chrome://browser/content/abouthome/aboutHome.js"></script>
<script type="text/javascript;version=1.8" src="chrome://browser/content/searchSuggestionUI.js"></script>

Я задавался вопросом, перехватывали ли они активы Chrome, но после проверки одного из этих сценариев я нашел комментарий Mozilla.

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

Я не знаю много о пользовательских протоколах или как они зарегистрированы или используются. Что тут происходит?

2 ответа2

35

Chrome в данном случае относится не к браузеру Chrome, а к части "пользовательского интерфейса" Chrome Firefox.

См. Https://developer.mozilla.org/en-US/docs/Glossary/Chrome для получения дополнительной информации:

Резюме

Chrome - это термин, обозначающий части пользовательского интерфейса веб-браузера, отличные от отображаемой веб-страницы.

"Chrome" также часто используется для обозначения веб-браузера Google Chrome.

...

Chrome-код или Chrome-привилегированный код - это имя, данное коду JavaScript в Firefox, который реализует сам браузер

Для дальнейшего использования Mozilla Developer Network (MDN) содержит множество знаний обо всем, что есть в Mozilla.

1

пользовательские протоколы или как они зарегистрированы или используются

Важно отметить, что это не протокол, а схема URI. Сетевой протокол определяет формат связи; схема URI определяет семантику URI.

которые я думал, были зарегистрированы для Google Chrome

IANA ведет список предварительных схем URI. Схема chrome в настоящее время зарегистрирована как предварительная схема с двумя определениями: одно для использования Mozilla, а другое для использования Google.

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

Одно из правил RFC 4395 для регистрации предварительной схемы:

  There is not already an entry with the same URI scheme name.  (In
  the unfortunate case that there are multiple, different uses of
  the same scheme name, the IESG may approve a request to modify an
  existing entry to note the separate use.)

Интересно, что оба текущих зарегистрированных определения имеют один и тот же контакт в списке, который использует адрес электронной почты microsoft.com - и оригинальный шаблон регистрации был в 2012 году, после того как Mozilla и Chrome уже использовали его. Таким образом, кажется, что Mozilla никогда не регистрировала его в IANA, и теперь мы находимся в этой ситуации с двумя разными использованиями одного и того же имени схемы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .