标签:
故事还得从30年前的某个夜晚说起......这是我们经常在电视里看到的经典台词。借用一下,对于Spring MVC,我们还得从HTTP协议说起。
HTTP协议是一个应用层、基于请求/响应模型、无状态的协议。无状态意味着每个请求都是独立的,换而言之,各个请求之间如果需要互相传递信息,协议本身是无法帮我们完成的。这就是为什么需要额外的技术用于保存请求之间的状态,例如:cookie在客户端保存某些状态信息或是session在服务器保存状态信息。
统一资源定位符(URL)是资源标识符(URI)最常见的形式,URL描述了一台特定服务器上某资源的特定位置。这些资源可以通过各种不同的方案(比如:HTTP、FTP、SMTP)来访问的,大多数URL方案的URL语法都建立在以下通用格式上:
<scheam>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>原始的servlet或是Spring MVC中@RequestMappping注解都提供了各种的方法,使得我们可以获取URL中各个部分,用于处理具体的请求。熟悉URL的组成部分,可以让我们在日常工作中对所做的事更加了然于胸。
URL本身使用US-ASCII字符集表示,这样就无法表示世界上其它非英语国家的各种字符的表示,因此设计者就将转移序列集成了进去,通过转义序列就可以使用US-ASCII字符集的有限子集对任意字符值或数据进行编码了。在URL中,有几个字符被保留起来,这些字符有着特殊的含义,如果你的URL中确实需要使用这些保留字符,则需要对其进行转义,转义的规则为百分号(%)后面跟着两个表示字符ASCII码的十六进制数。
推荐书目:《HTTP权威指南》,通俗易懂的一本书,接近700页的大部头,所以说HTTP简约而不简单。
标签:
原文地址:http://www.cnblogs.com/shucunbin/p/4423236.html