1 GET:获取资源
- GET 方法用来请求访问已被URI识别的资源,指定的资源经服务器端解析后返回响应内容;
- 也就是说,如果请求的资源是文本,那就保持原样返回;如果是像 CGI(Common Gateway Interface,通用网关接口)那样的程序,则返回经过执行后的输出结果;
例
请求 | GET/index.html HTTP/1.1 Host:www.hackr.jp |
---|---|
响应 | 返回index.html的页面资源 |
2 POST:上传实体主体
- 主要向指定资源提交数据进行处理请求(例如提交表单);
- 数据被包含在请求附件中;
- POST请求可能会导致新资源的建立和已有资源的修改;
例
请求 | POST/submit.cgi HTTP/1.1 Host:www.hackr.jp Content-Length:1560(1560字节的数据) |
---|---|
响应 | 返回接收submit.cgi数据的处理结果 |
3 HEAD:获得报文首部
- 获得报文首部;
- 类似GET,只是不返回报文主体部分;
- 用于确认URI的有效性及资源更新的日期时间等;
例
请求 | HEAD/index.html HTTP/1.1 Host:www.hackr.jp |
---|---|
响应 | 返回index.html有关的响应首部 |
4 PUT:上传文件
- PUT方法用来上传文件;
- 就像FTP协议的文件上传一样,要求在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置;
- 但鉴于 HTTP/1.1 的 PUT 方法自身不带验证机制,任何人都可以上传文件 , 存在安全性问题,因此一般的Web网站不使用该方法;
- 若 配合 Web 应用程序的验证机制,或架构设计采用REST(REpresentational State Transfer,表征状态转移)标准的同类 Web 网站,就可能会开放使用 PUT 方法;
例
请求 | PUT/example.html HTTP/1.1 Host:www.hackr.jp Content-Type:text/html Content-Length:1560(1560字节的数据) |
---|---|
响应 | 响应返回状态码204 No Content(比如:该html已存在于服务器上) |
5 DELETE:删除文件
- DELETE用来删除文件,是与 PUT 相反的方法;
- DELETE 方法按 请求 URI 删除指定的资源;
- 由于HTTP/1.1 的 DELETE 方法本身和 PUT 方法一样不带验证机制,所以一般的Web网站也不使用 DELETE 方法;
- 但是当配合 Web 应用 程序的验证机制,或遵守 REST 标准时还是有可能会开放使用的;
例
请求 | DELETE/example.html HTTP/1.1 Host:www.hackr.jp |
---|---|
响应 | 响应返回码204 No Content(比如:该html已从该服务器上删除) |
6 OPTIONS:询问支持的方法
查询针对请求 URI 指定的资源支持的方法。
例
请求 | OPTIONS * HTTP/1.1 Host:www.hackr.jp |
---|---|
响应 | HTTP/1.1 200 OK Allow:GET,POST,HEAD,OPTIONS(返回服务器支持的方法) |