Hasty Briefsbeta

双语

Three HTTP versions later, forms are still a mess

10 months ago
  • #Web Development
  • #Forms
  • #HTTP
  • 作者正在为Inko的标准库添加HTTP 1.1协议栈,包括服务器、客户端、cookie处理、表单解析和请求路由功能。
  • HTTP 1.1被描述为混乱且自然生长的协议,其RFC文档更像是参考资料而非严格规范。
  • 该协议包含诸多怪异设计,例如分块传输中使用十六进制表示块大小,响应行中强制要求保留空格等。
  • HTTP中的表单处理尤其混乱,存在两种'标准'编码格式:application/x-www-form-urlencoded和multipart/form-data。
  • application/x-www-form-urlencoded缺乏明确规范,导致实现不一致和编码问题频发。
  • multipart/form-data基于电子邮件格式,使用随机边界分隔符,结构臃肿且难以高效解析。
  • 对于混合文件与非文件的表单场景缺乏优秀替代方案,类似JSON表单或XForms等提案未能获得广泛采用。
  • 作者对HTTP新版迭代中表单处理技术停滞不前的现状表达了强烈不满。