java网络socket编程(六)之HTTP请求/响应报文

来源:互联网 发布:广联达预算软件使用 编辑:程序博客网 时间:2024/06/03 17:12

介绍

http报文包含请求报文和响应报文2种报文,他们都包含起始行、首部字段、主体三部分。其中,请求报文为客户端向服务器端请求资源时发送的http报文位请求包含,而响应报文为从服务器端发往客户端的报文。由于他们的报文很类似,下面简单的介绍报文的三部分:
1.起始行
报文的第一行就是起始行,在请求报文中用来说明要做些什么,而在响应报文中说明出现了什么情况。
2.首部字段
起始行后面有0个或者多个首部字段。每个首部字段都包含一个名字和一个值,为了便于解析,两者之间用冒号来分割。首部以一个空行结束。添加一个首部字段和添加一个新行一样简单。
3.主体
空行之后就是可选的报文主体了,其中包含了所有类型的数据。请求主体中包含了要发送为web服务器的数据;响应主体中撞在了要返回给客户端的数据。起始行和首部都是文本形式且都是结构化的,而主体不同,它可以包含任意的二进制数据(如图片,视频、音频等等)。当然也可以包含文本。
下图为一个完整的请求、响应的流程图:描述了完整的客户端请求http://www.joes-hardware.com/tools.html资源的过程,
  其中请求报文中的
起始行包含了请求的方法get、请求的资源相对位置 、协议的版本等。
请求首部主要包含描述客户端浏览器版本、请求服务器host、客户端接收文本格式、接收的语言设置等
请求主体为空
  而响应报文包含:
响应行中包含响应的http协议版本、服务器返回的状态码、状态值三部分
响应首部包含服务器响应时间、web服务器版本、修改时间、响应文本的类型等
响应主体包含了客户端要显示的文本内容
下图为响应码的图解:

1 0
原创粉丝点击