读书频道 > web开发 > 其他综合 > 看透Spring MVC:源代码分析与实践
2.3 HTTP协议
2015-12-01 14:07:23     我来说两句 
收藏    我要投稿   
第一篇首先讲解了网站基础知识,包括网站架构的演变以及每种架构所针对的问题、Web底层的协议以及简单的实现方法,最后分析了Tomcat的实现方法,这样可以让大家对Web有整体而且深入的理解,从而为分析Spring MV  立即去当当网订购

HTTP协议是应用层的协议,在TCP/IP协议接收到数据之后需要通过HTTP协议来解析才可以使用。就像过去的发电报一样,电报机就相当于Socket,负责选好发送的目标并将内容发过去,但是直接发过去的数据“嘀嘀嘀”并不能直接使用,还需要解码(在发送前需要先编码再发送)后才能用,电报中的编码和解码就相当于网络传输中的HTTP协议。

HTTP协议中的报文结构非常重要。HTTP中报文分为请求报文(request message)和响应报文(response message)两种类型,这两种类型都包括三部分:首行、头部和主体。请求报文的首行是请求行,包括方法(请求类型)、URL和HTTP版本三项内容,响应请求的首行是状态行,包括HTTP版本、状态码和简短原因三项内容,其中原因可有可无。头部保存一些键值对的属性,用冒号“:”分割。主体保存具体内容,请求报文中主要保存POST类型的参数,响应报文中保存页面要显示的结果。首行、头部和主体以及头部的各项内容用回车换行(\r\n)分割,另外头部和主体之间多一个空行,也就是有两个连续的回车换行。它们的结构如图2-3所示。


 

请求报文中的方法指GET、HEAD、POST、PUT、DELETE等类型,响应报文中的状态码就是Response中的status,一共可以分为5类:

1XX:信息性状态码。

2XX:成功状态码,如200表示成功。

3XX:重定向状态码,如301表示重定向。

4XX:客户端错误状态码,如404表示没找到请求的资源。

5XX:服务端错误状态码,如500表示内部错误。

报文信息可以通过firefox的firebug插件来查看,比如,要看www.csdn.net网址请求的报文,可以在安装好firefox和firebug插件后按F12打开firebug的面板,然后选择“网络”下面的“HTML”,并输入网址发起请求,这时firebug就会记录下来,如图2-4所示。


 

这时点击URL前面的加号就可以展开详细信息,如图2-5所示。


 

图中上边是响应的头信息,下面是请求的头信息,在“响应”选项卡中可以看到响应报文的主体。不过这时的头信息是经过格式化之后的,如果想看原始的可以点击“原始头信息”来查看,如图2-6所示。


 

从这里就可以看到请求报文和响应报文的首行和头部。我们会在后面自己动手写一个实现了HTTP协议的简单例子。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.2 TCP/IP协议与Socket
下一篇:2.4 Servlet与Java Web开发
相关文章
图文推荐
3.2 Windows 7设置
3.1 DNS解析
2.3 HTTP协议
2.2 TCP/IP协议与So
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站