客户端 发送的请求消息为字符流,由请求行(包括方法、统一资源标识符URL和HTTP协议版本)和头信息组成
下面是一个合法的HTTP请求消息例子。通过这个例子来大概了解一下一个HTTP请求消息。
GET /jytest/page/jsp02/easy.jsp HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-CN; rv:.11)
Accept: text/html,application/xhtml+xml,application/xml,*/*
Accept-Language: zh-cnAccept-Charset: gb2312,utf-8
这里,请求行指定了用GET方法,访问一个名为/jytest/page/jsp02/easy.jsp的资源,并指定请求使用HTTP/1.1协议版本。
注意:请求的方法不光光只有GET、还有POST、HEAD、OPTTIONS、DELETE、PUT、TRACE。其中,我们常用的是GET和POST方法
Host首部可以像服务器通知URL中所用的主机名。
User-Agent首部包含了发出请求的浏览器的类型相关信息。服务器可以使用此信息向不同类型的浏览器发送不痛类型的响应。
Accept首部提供了浏览器所接受的语言和文件格式的有关信息。这些首部可以用于针对浏览器的功能和用户的首选项(如使用某种所支持的图像格式和首选语言)对响应加以调整。
请求信息由服务器进一步处理,并生成相应的响应,响应消息由状态行和头信息组成。
下面是响应消息的示例。
HTTP/1.x 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html
Content-Length: 186
Date: Wed, 17 Jun 2009 00:57:35 GMT
第一行为状态行,状态行中的状态码200只是已经成功处理请求,因此描述为“OK”。
注意:这里介绍下常见的状态码:404是找不到被请求的网页时常遇到的状态码;500是服务器内部错误;503是服务器超时等,如果想具体了解,http://www.w3c.org上有很详细的内容。
Server头部指定服务器软件。
Content-Type头部指定了文档的MIME类型,如果是“text/html”指示格式化的Web文档,如果是“text/plain”只是未格式化的文本文档。
Content-length头部指定文件的大小,以字节来表示。