4

我用 Java 为 Android 编程,它的标准库有 Header 和 HeaderElement 类,通过它们可以以智能的方式分析 HTTP 标头。这些非常有用,因为避免用户解析标头值(可能不同且复杂)。

这些是他们的官方文档页面,很清楚方法的含义:
http://developer.android.com/reference/org/apache/http/Header.html http://developer.android.com/reference/org /apache/http/HeaderElement.html

Objective-C中的iOS有类似的东西吗?如果我收到一个响应(键入为 NSHTTPURLResponse),我是否必须手动解析其标题字段?

我问这个是因为我看到的检索 NSHTTPURLResponse 标头的唯一方法是

- (NSDictionary *)allHeaderFields

它只是返回一个以 NSString 对象作为值的字典。

编辑,添加示例

例如,如果我们以响应的 Cache-Control 标头为例,它可能具有以下语法:

"public"                               
| "private" [ "=" <"> 1#field-name <"> ]
| "no-cache" [ "=" <"> 1#field-name <"> ]
| "no-store"                             
| "no-transform"                         
| "must-revalidate"                      
| "proxy-revalidate"                     
| "max-age" "=" delta-seconds            
| "s-maxage" "=" delta-seconds           
| cache-extension 

在哪里

[] means optional
1# means one ore more

您了解手动解析标头可能很复杂。

4

0 回答 0