Spec-Zone.ru › OpenJDK 25

Класс HttpHeaders

java.lang.Object
java.net.http.HttpHeaders
public final class HttpHeaders extends Object
Представление набора HTTP-заголовков только для чтения.

Объект HttpHeaders обычно не создаётся напрямую, а возвращается из HttpRequest или HttpResponse. Отдельные HTTP-заголовки можно задать для запроса с помощью одного из методов headers построителя запроса.

Методы этого класса (принимающие имя заголовка String) и Map, возвращаемая методом map, при получении значения (значений) заголовка не учитывают регистр.

Имя HTTP-заголовка может встречаться в протоколе HTTP более одного раза. Поэтому заголовки представлены в виде имени и списка значений. Каждое вхождение значения заголовка без изменений добавляется в список соответствующего имени заголовка, без интерпретации этого значения. В частности, HttpHeaders не выполняет разделение или объединение строк значений заголовков, разделённых запятыми. Порядок элементов в списке значений заголовка сохраняется при building запроса. Для ответов порядок элементов в списке значений заголовка соответствует порядку их получения. Однако Map, возвращаемая методом map, не гарантирует порядок своих записей.

Экземпляры HttpHeaders неизменяемы.

Начиная с:
11

Краткое описание методов

Модификатор и тип Метод Описание
List<String> allValues(String name)
Возвращает неизменяемый List всех строковых значений заголовка с указанным именем.
final boolean equals(Object obj)
Проверяет равенство этого экземпляра HTTP-заголовков указанному объекту.
Optional<String> firstValue(String name)
Возвращает Optional, содержащий первое строковое значение заголовка с указанным именем (который может иметь несколько значений).
OptionalLong firstValueAsLong(String name)
Возвращает OptionalLong, содержащий первое строковое значение поля заголовка с указанным именем.
final int hashCode()
Вычисляет хеш-код этого экземпляра HTTP-заголовков.
Map<String, List<String>> map()
Возвращает неизменяемое представление этого HttpHeaders в виде Map с несколькими значениями.
static HttpHeaders of(Map<String, List<String>> headerMap, BiPredicate<String,String> filter)
Возвращает HTTP-заголовки из указанной Map.
String toString()
Возвращает строковое представление этих HTTP-заголовков.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

firstValue

public Optional<String> firstValue(String name)
Возвращает Optional, содержащий первое строковое значение заголовка с указанным именем (который может иметь несколько значений). Если заголовок отсутствует, возвращаемый Optional пуст.
Параметры:
name — имя заголовка
Возвращает:
Optional<String>, содержащий первое строковое значение заголовка с указанным именем, если оно имеется

firstValueAsLong

public OptionalLong firstValueAsLong(String name)
Возвращает OptionalLong, содержащий первое строковое значение поля заголовка с указанным именем. Если заголовок отсутствует, Optional пуст. Если заголовок присутствует, но содержит значение, которое не разбирается как значение Long, выбрасывается исключение.
Параметры:
name — имя заголовка
Возвращает:
OptionalLong
Выбрасывает:
NumberFormatException — если значение найдено, но не разбирается как Long

allValues

public List<String> allValues(String name)
Возвращает неизменяемый List всех строковых значений заголовка с указанным именем. Всегда возвращает List, который может быть пустым, если заголовок отсутствует.
Параметры:
name — имя заголовка
Возвращает:
List строковых значений заголовков

map

public Map<String, List<String>> map()
Возвращает неизменяемое представление этого HttpHeaders в виде Map с несколькими значениями.
Возвращает:
Map

equals

public final boolean equals(Object obj)
Проверяет равенство этого экземпляра HTTP-заголовков указанному объекту.

Если указанный объект не является HttpHeaders, этот метод возвращает false. Два набора HTTP-заголовков равны, если равны соответствующие им Map.

Этот метод соответствует общему контракту метода Object.equals.

Переопределяет:
equals в классе Object
Параметры:
obj — объект, с которым сравнивается этот объект
Возвращает:
true тогда и только тогда, когда указанный объект является HttpHeaders, равным этим HTTP-заголовкам
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public final int hashCode()
Вычисляет хеш-код этого экземпляра HTTP-заголовков.

Хеш-код основан на компонентах map HTTP-заголовков и соответствует общему контракту метода Object.hashCode.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода этих HTTP-заголовков
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public String toString()
Возвращает строковое представление этих HTTP-заголовков.
Переопределяет:
toString в классе Object
Возвращает:
строку с описанием HTTP-заголовков

of

public static HttpHeaders of(Map<String, List<String>> headerMap, BiPredicate<String,String> filter)
Возвращает HTTP-заголовки из указанной Map. Ключ указанной Map представляет имя заголовка, а значение — список строковых значений этого заголовка.

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

Примечание API:
Основное назначение этого метода — использование в тестовых платформах. Заголовки для отдельных запросов можно задавать с помощью одного из методов HttpRequest headers.
Параметры:
headerMap — Map, содержащая имена заголовков и значения
filter — фильтр, который можно использовать для проверки каждой пары имени и значения заголовка в указанной Map и определения того, следует ли добавлять её в HTTP-заголовки
Возвращает:
экземпляр HTTP-заголовков, содержащий указанные заголовки
Выбрасывает:
NullPointerException — если любое из следующего: headerMap, ключ или значение в указанной Map, запись в списке значений Map или filter имеет значение null
IllegalArgumentException — если указанная headerMap содержит два ключа, равных друг другу (без учёта регистра); или если Map содержит ключ, длина которого после удаления пробельных символов равна 0

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.net.http/java/net/http/HttpHeaders.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API