http报文组成,http采用C/S网络模式,客户端发送请求报文,服务器发送响应请求报文。
比如,请求报文:
GET /test/index.html HTTP/1.1 CLRF 请求行
Accept: text/* CLRF 请求头
Host:localhost CLRF
响应报文:
HTTP/1.1 200 OK CLRF 响应行
Content-type: text/plain CLRF 响应头
Content-length: 12 CLRF
CLRF
Hello world! 主体
报文结构:
- 请求行由方法,URL路径和版本号组成。
- 响应行由协议版本,状态,原因短语组成。
- 方法,http协议常用方法有GET、HEAD、POST、PUT、TRACE、OPTION、DELETE
- 状态码,200-299表示成功,300-399表示资源转移,400-499表示客户端请求出错,500-599表示服务器错误。
- 原因短语,每种状态对应一种原因,比如200-OK, 401-Unauthorized,404-Not Found
- 版本号,HTTP常用版本为HTTP/1.0、HTTP/1.1、
- 首部分为:
-
-
- 通用首部,可以出现在请求报文也可以在响应报文
- 请求首部
- 响应首部
- 实体首部
- 扩展首部
-
8.实体:报文传输内容。
HTTP报文中的安全方法:GET、HEAD。
GET方法通常是向web服务器发送请求获取资源。
HEAD方法跟GET方法流程没有区别,只是服务器响应没有内容实体。如果在不获取资源的情况下了解资源的情况可以使用,通过响应头部判断其是否存在等。
PUT方法可以发送数据比如文档等资源到服务器。
POST请求支持发送表单数据到服务器上。
TRACE客户端发起请求后如果经历多个代理转发数据的最终结果由服务器响应返回原始信息。
OPTION请求获取服务器支持的HTTP方法。
DELETE可以删除指定URL的服务器资源。