HTTP协议详解:从基础到高级应用
1. HTTP基础与安全问题
1.1 国际化域名与同形异义字攻击
国际化域名带来了同形异义字攻击的风险。许多Unicode字符外观相似,例如俄语的“o”(U+043E)、希腊语的“o”(U+03BF)和英语的“o”(U+006F)。使用同形异义字的域名(如包含两个俄语“o”的google.com)可能会造成混乱。可以通过始终显示Punycode(如使用Punycode转换器得到的xn—ggle-55da.com)来防御此类攻击。
1.2 URI/URL路径处理
URI/URL中的路径处理更为复杂,因为它是相对于可能在特定本地化环境中运行的HTTP服务器的路径。其编码可能不是UTF - 8,甚至不是Unicode。IRI(国际化资源标识符)通过先将任何本地化字符串转换为UTF - 8,然后对任何非ASCII字节进行百分比转义来处理这个问题。
1.3 HTTP特性
HTTP是一种无状态、无连接、可靠的协议。在最简单的形式中,用户代理的每个请求都能得到可靠处理,然后连接断开。早期的HTTP版本中,每个请求都涉及一个单独的TCP连接,如果需要许多资源(如HTML页面中嵌入的图像),则必须在短时间内建立和拆除许多TCP连接。HTTP 1.1对HTTP进行了许多优化,虽然增加了结构的复杂性,但创建了一个更高效、可靠的协议。HTTP/2采用二进制形式以进一步提高效率。
1.4 HTTP版本
HTTP有四个版本:
| 版本 | 发布时间 | 状态 |
| ---- | ---- | ---- |
| 0.9 | 19
超级会员免费看
订阅专栏 解锁全文
4477

被折叠的 条评论
为什么被折叠?



