第 2 章 HTTP/1.0 的语义:浏览器基本功能的背后(1)
[日] 涩川喜规
第 1 章我们介绍了 HTTP 的 4 个基本元素。
方法和路径
首部
主体
状态码
Web 浏览器通过将数据放到容器里发送,或者从通过服务器的响应发来的容器中取出数据来实现与服务器的交互。随着 Web 的发展,浏览器中新增了各种功能,尤其是首部结构中实现了许多功能。本章我们将看一下浏览器是如何使用这些基本元素来实现基本功能的。与第 1 章一样,本章我们也会根据需要使用 curl 命令,了解浏览器的运行原理。
2.1 使用 x-www-form-urlencoded 发送表单
首先,我们来深入了解一下第 1 章未详细介绍的主体的相关知识。第 1 章介绍了 HTTP/1.0 中请求和资源一一对应的主体的接收。虽然也可以使用 JavaScript API 来发送数据,不过在本节和下一节中,笔者将介绍使用表单的发送方法。
![](https://static001.geekbang.org/files/resource/ebook/100009/image00380.jpeg)
使用表单进行 POST 的方式有很多种。我们先来看一下最简单的发送方式。
这是很常见的 Web 表单。method 中设置了 POST。我们也可以使用下面的 curl 命令以和表单相同的形式发送数据。
我们可以在 curl 命令中使用 -d 选项设置通过表单发送的数据。如果指定了 -d 选项,curl 命令就可以像浏览器一样设置首部 Content-Type:application/x-www-form-urlencoded。这时,主体就会变成下面这样的字符串,其中键和值用等号拼接,各项用 & 拼接。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
本文深入探讨了HTTP/1.0中浏览器基本功能的实现原理,重点介绍了使用x-www-form-urlencoded和multipart/form-data两种方式发送数据的方法。通过实际代码示例和对比分析,详细讲解了数据的转义和编码规则,以及发送文件时的处理方式。读者可以通过浏览器或curl命令发送数据,同时了解请求的格式和处理方式。文章还介绍了内容压缩对传输速度的提升以及Cookie的基础设施实现。对于想要深入了解HTTP协议和浏览器工作原理的读者具有很高的参考价值。 此外,文章还介绍了Cookie的分类和错误用法,以及对Cookie加以限制的方法。对于希望了解Cookie分类、错误用法和限制方法的读者,本文提供了详细的解释和示例。文章内容涵盖了HTTP协议中与Cookie相关的重要知识点,对于想要深入了解网络通信和安全性的读者具有很高的参考价值。 另外,文章还介绍了Cookie的属性,如Path属性、Secure属性、HttpOnly属性和SameSite属性,以及其在Web安全中的作用。对于想要加强对Cookie安全性和属性应用的读者,本文提供了深入的技术解析和实际应用场景。文章还涉及了Web认证和会话的相关内容,包括BASIC认证和Digest认证的原理和使用方法。对于希望了解Web认证机制和安全性的读者,本文提供了全面的技术指导和实际操作示例。 总的来说,本文内容涵盖了HTTP协议、Cookie安全性、Web认证和会话等重要技术领域,对于想要深入了解网络通信和安全性的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《详解 HTTP:协议基础与 Go 语言实现》
《详解 HTTP:协议基础与 Go 语言实现》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论