18.1.6 SHTTPD定位URI的需求

本文详细介绍了URI(统一资源标识符)的概念及其在HTTP协议中的应用。解释了URI的一般语法,包括绝对与相对形式的区别;阐述了HTTP URL的具体结构,并讨论了URI比较时需要注意的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

18.1.6  SHTTPD定位URI的需求

URIUniversal Resource Identy的简写,是同一资源标识符的意思,它是一种格式化的字符串,通过名称、地址或者其他别的特征来确定网络资源的位置。URI已经广为人知,例如WWW地址、通用文件标识符、统一资源定位器(URL)、统一资源名称(URN)等。

1URI的一般语法

URI的表示形式可以为HTTP里的绝对形式或者与已知URI对比的相对形式。两种形式的区别在于:绝对URI要以一个协议的摘要名字作为开头,其后是一个冒号。例如http://www.sina.com.cn是一种绝对URI,而www.sina.com.cn是一种相对URI

对于URI的请求,HTTP协议不对长度做限制,服务器必须处理到达服务器的任何URI资源请求,并能够处理无限长的URI。当然实际的服务器中总有URI请求的长度限制。

2HTTP URL

HTTP协议通过HTTP协议给出网络资源的位置。其形式如下:

 

http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

 

即一个“http:”后面跟“//”,然后是主机的名字,名字后面是主机的端口。然后是主机的请求资源,如果之后又“?”则后面会有传给服务器的参数。

这个形式中,如果端口为空或未给出,系统会使用默认值80

3URI 比较

URI是大小写敏感的,也就是说,比较两个URI是否一致,字符串必须按照大小写是两个不同资源来对待。例外情况如下:

q      当请求资源的端口没有给出或者为空的时候,URI的端口为默认值。

q      对于URI中的主机名的比较必须是不区分大小写的,例如WWW.SINA.COM.CNwww.sina.com.cn是相同的URI

q      协议的名称比较必须是不区分大小写的,例如HTTP://www.sina.com.cnhttp://www.sina.com.cn是相同URI

除了“保留”或“危险”集里的字符,字符等同于它们的“% HEX HEX”编码.。以下3URI是等同的:

 

http://sina.com:80/index.html

http://sina.com/index.html

http://SINA.com:/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值