HTTP协议中http1.0与http1.1的区别
非持久连接和持久连接,http1.0使用非持久连接,每次请求TCP都得三次握手四次挥手,http1.1只要没有任一端提出断开,则保持连接。
HTTP请求的方法
HTTP/1.1协议中共定义了八种方法(有时也叫“动作”"Method"),来表明Request-URL指定的资源不同的操作方式
方法 |
说明 |
GET | 获取资源 |
POST | 传输实体主体 |
PUT | 传输文件 |
DELETE | 删除文件 |
HEAD | 获得报文首部 |
OPTIONS | 询问支持的方法 |
TRACE | 追踪路径 |
CONNECT | 要求用隧道协议连接代理 |
1、OPTIONS
用来查询针对请求URI指定的资源支持的方法。
2、HEAD
与GET方法一样,只是不返回报文主体部分。用于确认URI的有效性以及资源更新的日期时间等。
3、GET
用来请求访问已被URI识别的资源。指定的资源经服务端解析后返回响应内容。
若请求的资源是文本,则保持原样返回;若为类似CGI程序,则返回经过执行的输出结果。
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。
注意:
1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。
2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法。