Spring MVC之基础知识:HTTP
故事还得从30年前的某个夜晚说起......这是我们经常在电视里看到的经典台词。借用一下,对于Spring MVC,我们还得从HTTP协议说起。
HTTP协议
HTTP协议是一个应用层、基于请求/响应模型、无状态的协议。无状态意味着每个请求都是独立的,换而言之,各个请求之间如果需要互相传递信息,协议本身是无法帮我们完成的。这就是为什么需要额外的技术用于保存请求之间的状态,例如:cookie在客户端保存某些状态信息或是session在服务器保存状态信息。
统一资源定位符(URL)
统一资源定位符(URL)是资源标识符(URI)最常见的形式,URL描述了一台特定服务器上某资源的特定位置。这些资源可以通过各种不同的方案(比如:HTTP、FTP、SMTP)来访问的,大多数URL方案的URL语法都建立在以下通用格式上:
<scheam>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>原始的servlet或是Spring MVC中@RequestMappping注解都提供了各种的方法,使得我们可以获取URL中各个部分,用于处理具体的请求。熟悉URL的组成部分,可以让我们在日常工作中对所做的事更加了然于胸。
URL编码
URL本身使用US-ASCII字符集表示,这样就无法表示世界上其它非英语国家的各种字符的表示,因此设计者就将转移序列集成了进去,通过转义序列就可以使用US-ASCII字符集的有限子集对任意字符值或数据进行编码了。在URL中,有几个字符被保留起来,这些字符有着特殊的含义,如果你的URL中确实需要使用这些保留字符,则需要对其进行转义,转义的规则为百分号(%)后面跟着两个表示字符ASCII码的十六进制数。
HTTP请求报文和HTTP响应报文
http://www.cnblogs.com/biyeymyhjob/archive/2012/07/28/2612910.html小结:在此只是抛砖引玉简单介绍了HTTP最常见的一些基础知识,即便这些基础内容浅显易懂,但真正理解它们很重要。只有理解HTTP的这些特点,我们才能真正明白Web框架采取的种种解决问题方案,比如:servlet处理请求方法的参数(request、response)就是分别封装了请求报文与响应报文,为什么需要session等等。
推荐书目:《HTTP权威指南》,通俗易懂的一本书,接近700页的大部头,所以说HTTP简约而不简单。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。