Как я получаю доступ к полям заголовка Запроса HTTP через JavaScript?

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

50
задан Community 23 May 2017 в 01:47
поделиться

3 ответа

Если Вы хотите получить доступ к ссылающемуся домену и агенту пользователя, те доступны клиентскому JavaScript, но не путем доступа к заголовкам непосредственно.

Для получения ссылающегося домена используйте document.referrer .
Для доступа к агенту пользователя используйте navigator.userAgent .

, Поскольку другие указали, HTTP-заголовки не доступны, но Вы конкретно спросили о ссылающемся домене и агенте пользователя, которые доступны с помощью JavaScript.

67
ответ дан antony.trupe 7 November 2019 в 11:02
поделиться

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

Это становится немного хитрым для имения серверного кода, генерируют клиентский код, так быть уверенным, в именно это Вы нуждаетесь. Например, если Вы хотите информацию об Агенте пользователя, Вы могли бы найти достаточным получить различные значения, что JavaScript предусматривает определение браузера. Запустите с navigator.appName и navigator.appVersion.

9
ответ дан bmb 7 November 2019 в 11:02
поделиться

Я вообразил бы захваты Google [приблизительно 110], серверная сторона данных - помнит, когда страница загружается в Ваш браузер, который имеет код Google Analytics в нем, Ваш браузер выполняет запрос к серверам Google; Google может получить данные таким образом, а также через JavaScript, встроенный в страницу.

0
ответ дан Jason Bunting 7 November 2019 в 11:02
поделиться
Другие вопросы по тегам:

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