6. 实现考虑事项 (Implementation Considerations)
6.1. 限制 (Limits)
实际 user agent implementations 对其可存储 cookies 的数量和大小有限制. General-use user agents SHOULD 提供以下各项最低能力:
o 每个 cookie 至少 4096 bytes (按 cookie name, value 和 attributes 长度之和衡量).
o 每个 domain 至少 50 cookies.
o 总计至少 3000 cookies.
Servers SHOULD 尽可能使用更少且更小的 cookies, 以避免达到这些 implementation limits, 并减少由于每个 request 都包含 Cookie header 而产生的 network bandwidth.
如果 user agent 未能在 Cookie header 中返回一个或多个 cookies, servers SHOULD graceful degrade, 因为 user agent 可能随时根据用户指令 evict 任意 cookie.
6.2. Application Programming Interfaces
Cookie 和 Set-Cookie headers 使用如此晦涩 syntax 的一个原因是, 许多 platforms (包括 servers 和 user agents) 为 cookies 提供基于字符串的 application programming interface (API), 要求 application-layer programmers 生成和解析 Cookie 与 Set-Cookie headers 使用的 syntax. 许多 programmers 错误地完成了这一点, 从而导致 interoperability problems.
与其为 cookies 提供 string-based APIs, platforms 更适合提供更具语义的 APIs. 推荐具体 API designs 超出本文档范围, 但接受抽象 "Date" object 而不是 serialized date string 显然有好处.
6.3. IDNA 依赖和迁移 (IDNA Dependency and Migration)
IDNA2008 [RFC5890] 取代 IDNA2003 [RFC3490]. 但是, 这两个 specifications 之间存在差异, 因此在处理 (例如转换) 基于其中一个注册的 domain name labels 与基于另一个注册的 labels 时可能存在差异. 在一段过渡期内, 基于 IDNA2003 的 domain name labels 会实际存在. User agents SHOULD 实现 IDNA2008 [RFC5890], 并 MAY 实现 [UTS46] 或 [RFC5895]
以促进其 IDNA transition. 如果 user agent 不实现 IDNA2008, 该 user agent MUST 实现 IDNA2003 [RFC3490].