Request-Line解释
Request-Line = Method SP Request-URI SP HTTP-Version CRLF
Method有7种:
GET
检索URI中标识资源的一个简单请求
HEAD
与GET方法相同,服务器只返回状态行和头标,并不返回请求文档
POST
服务器接受被写入客户端输出流中的数据的请求
PUT
服务器保存请求数据作为指定URI新内容的请求
DELETE
服务器删除URI中命名的资源的请求
OPTIONS
关于服务器支持的请求方法信息的请求
TRACE
Web服务器反馈Http请求和其头标的请求
CONNECT
已文档化但当前未实现的一个方法,预留做隧道处理
Request-URI = "*" | absoluteURI | abs_path | authority
Request-URI 有以上4种形式:
1.*
2.absoluteURI
3.abs_path
4.authority
请求所指定的准确资源是由请求URI和Host报头域共同决定的。
不使用请求的主机来区分资源的源服务端在确定HTTP/1.1请求指定的资源时可以忽略Host报头域。(但是请看一下HTTP/1.1所支持的其他Host需求)。
一个基于请求主机(有时候被称为虚拟主机或者虚拟主机名)区分资源的源服务端必须使用下面的规则来确定HTTP/1.1请求所请求的资源:
1. 如果请求URI是一个绝对URI,主机为请求URI中的主机名部分。请求中的哪些Host报头域值必须被忽略。
2. 如果请求URI不是一个绝对URI,并且请求包括一个Host报头域,那么主机由Host的域值来决定。
3. 如果由以上两种方法确定的主机是无效的,那么响应应该是一个400(错误的请求)错误信息。
缺少Host报头域的HTTP/1.0请求的接收者可以尝试使用启发式(例如检查URI路径看是否有针对特定主机的东西)的的方式来确定正确的请求资源。