首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第一章 HTTP概述
第二章 url与资源
第三章 http报文
第四章 连接管理
第五章 web服务器
第六章 代理
第七章 缓存
第八章 集成点:网关、隧道及中继
第九章 web机器人
第十章 HTTP-NG
第十一章 客户端识别与cookie机制
第十二章 基本认证机制
第十三章 摘要认证
第十四章 安全HTTP
第十五章 实体和编码
第十六章 国际化
第十七章 内容协商与转码
第十八章 web主机托管
第十九章 重定向与负载均衡
第二十章 日志记录与使用情况跟踪
当前位置:
首页>>
技术小册>>
HTTP权威指南
小册名称:HTTP权威指南
#### 内容提要 * 本章讲解了URI(统一标识符)严格来说,这一章是介绍URL(统一资源定位符)的!分别介绍了URL是由那些组件构成、每个组件代表的含义是什么、浏览器是如何解析每个组件的以及从URL的完成性和安全性来说如何进行URL不安全字符进行转义。当然最后还简单介绍了URI的另一个子类URN(统一资源名)。 #### URI的分类 * URI(统一资源标识符)由URL(统一资源定位符)和URN(统一资源名)两个子集构成。URL是从资源的位置来定义一个资源的,比如在“中国三东的一只小狗”和在“中国广东的一只小狗”就分别定义了两只不同的狗。而URN是从资源的名字来定义的,比如小明和小李就分别定义了两个人。目前的网络架构来说,大部分都是URL。URL的缺点就是如果资源的位置发生了改变,那么资源也就找不到了,而URN正是解决这个问题的,因为URN不受位置的限制,它只受名字的管理,因为对于URN来说,一个资源的名字是唯一的,所以无论资源移动到什么地方,都能通过名字定位到资源。从某种意义上来说,URN是URI的未来趋势,但是URN的实现需要一个中间架构来满足这种位置到名字的映射,所以要完成从URL到URN的过度,显然是一个工程量的过程,如果不是URL到了不能用的时候,URN的实现需要很长的时间,幸运的是现在URL架构还是很好的满足网络需求的! #### URL的语法 * URL的语法描述的是URL由哪些组件构成,以及这些组件是怎么组合成一个URL,中间由什么符号连接,每个组件代表什么等!其格式如下: ``` <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> ``` 其中: >> scheme:方法描述了请求资源时用了什么协议,用“:”与url其它部分隔开; >> user:用户名描述了访问是带的用户名; >> password:密码描述了用户名后面可能跟的密码,用“:”跟用户名隔开; >> host:主机描述了网站主机名或ip地址,如果前面有用户名和密码,用@分开; >> post:服务器当前正在监听的端口,http默认为80,https默认为443; >> path:路劲描述了资源在服务器上的位置,用‘/’跟前面部分隔开; >> params:参数描述了请求需要附加的参数,用“;”与其他部分隔开; >> query:查询是用来激活服务器程序去执行某些操作,比如查询数据库等,用“?”与其余部分隔开; >> frag:片段只在客户端使用,不发送到服务器端; #### URL快捷方式 * url快捷方式描述了一种程序如何通过相对地址解析处绝对地址的过程以及在浏览器地址栏输入部分url浏览器自动补全主机名的一种机制! * 相对地址转换为绝对地址:首先会根据一个基础地址来得出协议、主机名、端口等!基础地址可以通过base标签显示定义,也可以由当前所在资源的地址得出!相关接口通过继承的方式附在相对地址上,最后得到绝对地址。 * 浏览器扩展地址主要通过主机名扩展和历史扩展等方式实现自动地址补全! #### url编码 Q:为什么需要编码? A:主要从url的一致性、安全性、以及完整性来强调需要对url字符进行编码。比如因为一个url连接的两端可能出现的机器种类很多,为了让大家都能够解析出一个相同的url,所以有必要对某些不安全的url字符进行转义。 Q:url字符集由什么编码构成? A:早前的url是有US-ASCII码编码,但是随着网络在全世界的流行,有很多字符是US-ASCII不能编码的,因为US-ASCII码最多只能编译127个字符。通过转义序列,就可以用US-ASCII字符集的有限子集对任意字符值或数据进行编码了。 Q:编码机制? A:为了避开安全字符集表示法带来的限制,人们设计了一种编码机制,用来在URL中表示各种不安全的字符。这种编码机制就是通过一种“转义”表示法来表示不安全字符的,这种转义表示法包含一个百分号(%),后面跟着两个表示字符的ASCII码的十六进制数。 Q:那些字符不建议在URL里面使用? A:在URL中,有几个字符被保留起来,有着特殊的含义。有些字符不在定义的US-ASCII可打印字符集中。还有些字符会与某些因特网网关和协议产生混淆,因此不赞成使用,比如“%”。
上一篇:
第一章 HTTP概述
下一篇:
第三章 http报文
该分类下的相关小册推荐:
Laravel(10.x)从入门到精通(十一)
PHP合辑1-基础入门
PHP高性能框架-Swoole
Magento零基础到架构师(目录管理)
剑指PHP(从入门到进阶)
Magento中文全栈二次开发
Laravel(10.x)从入门到精通(二)
PHP8入门与项目实战(3)
PHP合辑3-数组函数
Laravel(10.x)从入门到精通(五)
Magento零基础到架构师(安装篇)
全面掌握Magento2-从配置到优化