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新版迭代中表单处理技术停滞不前的现状表达了强烈不满。