HTTP请求行
格式:请求方式 资源路径 HTTP版本号<CRLF>
例如:GET /test.html HTTP/1.0
请求方式:POST,HEAD,OPTIONS,DELETE,TRACE,PUT(常用的是GET,POST)
状态行:http版本号 状态码 原因叙述<CRLF>
例如:HTTP/1.1 200 OK
实际使用举例:
启动TOMCAT,然后再命令行中通过:telnet 127.0.0.1 8080
然后通过按“ctrl”+"]"来打开本地回显功能。回车后,然后输入:GET /test.html HTTP/1.0
然后回车:
得到结果:
GET /test.html HTTP/1.0--请求行
HTTP/1.1 200 OK--状态行
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"322-1298947431468"
Last-Modified: Tue, 01 Mar 2011 02:43:51 GMT
Content-Type: text/html
Content-Length: 322
Date: Tue, 01 Mar 2011 02:44:14 GMT
Connection: close
注意:http1.0和http1.1有所不同。
1.1版本一定要有一个HOST的头字段。如果采用如上访问方式:
GET /test.html HTTP/1.1--采用的是1.1版本
HTTP/1.1 400 Bad Request--得到结果是400错误信息
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked
Date: Tue, 01 Mar 2011 02:57:29 GMT
Connection: close
0
所以对于1.1版本一定要有一个头字段:
GET /test.html HTTP/1.1
Host:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"322-1298947431468"
Last-Modified: Tue, 01 Mar 2011 02:43:51 GMT
Content-Type: text/html
Content-Length: 322
Date: Tue, 01 Mar 2011 02:58:36 GMT
使用1.0的时候,服务器返回响应消息以后,会自动关闭连接,而1.1不会立即关闭连接。
请求方式如果是GET方式,那么页面参数将直接在浏览器地址栏中显示,如果是以POST方式来提交,那么浏览器地址栏将不显示参数。
响应状态码:
1 100-199
表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
2.200-299
表示成功接收请求并已完成整个处理过程。
3.300-399
为完成请求,客户需进一步细化请求,例如:请求资源已移动到一个新的地址。
4.400-499
客户端的请求有错误。
5.500-599
服务端出现错误。