HTTP 请求和响应的头部。
在某些情况下,头部是不可变的
-
HttpRequest 和 HttpClientResponse 总是具有不可变头部。
-
HttpResponse 和 HttpClientRequest 从写入体开始就具有不可变头部。
在这些情况下,修改方法会抛出异常。
对于所有 HTTP 头部的操作,头部名称不区分大小写。
要设置头部的值,请使用 set()
方法
request.headers.set(HttpHeaders.cacheControlHeader,
'max-age=3600, must-revalidate');
要获取头部的值,请使用 value()
方法
print(request.headers.value(HttpHeaders.userAgentHeader));
HttpHeaders
对象为每个名称保存一个值列表,因为标准允许这样做。在大多数情况下,一个名称只保存一个值,最常见的工作模式是使用 set()
来设置值,使用 value()
来获取值。
属性
- chunkedTransferEncoding ↔ bool
- 连接是否使用分块传输编码。getter/setter 对
- contentLength ↔ int
- 如果有的话,contentLengthHeader 头部的值。getter/setter 对
- contentType ↔ ContentType?
- 如果有的话,ContentType 的 contentTypeHeader 头部的值。getter/setter 对
- date ↔ DateTime?
- 如果有的话,由 dateHeader 头部指定的日期。getter/setter 对
- expires ↔ DateTime?
- 如果有的话,由 expiresHeader 头部指定的日期和时间。getter/setter 对
- hashCode → int
- 此对象的哈希码。无 setter继承
- host ↔ String?
- 如果有的话,hostHeader 头部的值。getter/setter 对
- ifModifiedSince ↔ DateTime?
- 如果有的话,由 ifModifiedSinceHeader 头部指定的日期和时间。getter/setter 对
- persistentConnection ↔ bool
- 连接是否持久(keep-alive)。getter/setter 对
- port ↔ int?
- 如果有的话,hostHeader 头部端口部分的值。getter/setter 对
- runtimeType → Type
- 对象的运行时类型表示。无 setter继承
方法
-
add(
String name, Object value, {bool preserveHeaderCase = false}) → void - 添加一个头部值。
-
clear(
) → void - 移除所有头部。
-
forEach(
void action(String name, List< String> values)) → void - 对每个头部执行
action
。 -
noFolding(
String name) → void - 在发送 HTTP 头部时禁用名为
name
的头部的折叠。 -
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时调用。继承
-
remove(
String name, Object value) → void - 移除特定头部名称的值。
-
removeAll(
String name) → void - 移除指定头部名称的所有值。
-
set(
String name, Object value, {bool preserveHeaderCase = false}) → void - 将头部
name
设置为value
。 -
toString(
) → String - 此对象的字符串表示。继承
-
value(
String name) → String? - 单个值头部的值便捷方法。
运算符
-
operator ==(
Object other) → bool - 等价运算符。继承
-
operator [](
String name) → List< String> ? - 名为
name
的头部的值。
常量
- acceptCharsetHeader → const String
- acceptEncodingHeader → const String
- acceptHeader → const String
- acceptLanguageHeader → const String
- acceptRangesHeader → const String
- accessControlAllowCredentialsHeader → const String
- accessControlAllowHeadersHeader → const String
- accessControlAllowMethodsHeader → const String
- accessControlAllowOriginHeader → const String
- accessControlExposeHeadersHeader → const String
- accessControlMaxAgeHeader → const String
- accessControlRequestHeadersHeader → const String
- accessControlRequestMethodHeader → const String
- ageHeader → const String
- allowHeader → const String
- cacheControlHeader → const String
- connectionHeader → const String
- contentDisposition → const String
- contentEncodingHeader → const String
- contentLanguageHeader → const String
- contentLengthHeader → const String
- contentLocationHeader → const String
- contentMD5Header → const String
- contentRangeHeader → const String
- contentTypeHeader → const String
- dateHeader → const String
-
entityHeaders → const List<
String> - etagHeader → const String
- expectHeader → const String
- expiresHeader → const String
- fromHeader → const String
-
generalHeaders → const List<
String> - hostHeader → const String
- ifMatchHeader → const String
- ifModifiedSinceHeader → const String
- ifNoneMatchHeader → const String
- ifRangeHeader → const String
- ifUnmodifiedSinceHeader → const String
- lastModifiedHeader → const String
- locationHeader → const String
- maxForwardsHeader → const String
- pragmaHeader → const String
- proxyAuthenticateHeader → const String
- proxyAuthorizationHeader → const String
- rangeHeader → const String
- refererHeader → const String
-
requestHeaders → const List<
String> -
responseHeaders → const List<
String> - retryAfterHeader → const String
- serverHeader → const String
- setCookieHeader → const String
- teHeader → const String
- trailerHeader → const String
- transferEncodingHeader → const String
- upgradeHeader → const String
- userAgentHeader → const String
- varyHeader → const String
- viaHeader → const String
- warningHeader → const String
- wwwAuthenticateHeader → const String