15、HTTP协议详解:从基础到高级特性

HTTP协议详解:从基础到高级特性

1. 国际化域名与URI/URL路径处理

国际化域名带来了“同形异义字符攻击”的可能性。许多Unicode字符外观相似,例如俄语的“o”(U+043E)、希腊语的“o”(U+03BF)和英语的“o”(U+006F)。使用同形异义字符的域名,如用两个俄语“o”的“google.com”,可能会造成混乱。已知的防御方法包括始终显示Punycode(如使用Punycode转换器将其转换为xn—ggle-55da.com)。

URI/URL中的路径处理更为复杂,因为它指向的是可能在特定本地化环境中运行的HTTP服务器的相对路径。其编码可能不是UTF - 8,甚至不是Unicode。IRI(国际化资源标识符)通过先将任何本地化字符串转换为UTF - 8,然后对任何非ASCII字节进行百分比转义来处理这个问题。相关更多信息可参考W3C页面“An Introduction to Multilingual Web Addresses”(https://www.w3.org/International/articles/idn-and-iri/)。Go语言在net/url包中有QueryEscape/QueryUnescape函数,在Go 1.8版本中有PathEscape/PathUnescape函数来进行百分比转换。

2. HTTP协议的特点与版本

HTTP是一种无状态、无连接、可靠的协议。在最简单的形式中,用户代理的每个请求都能得到可靠处理,然后连接断开。

HTTP有以下几个版本:
| 版本 | 发布时间 | 状态 |
| ---- | ---- | ---- |
| 0.9 | 1991年 |

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值