根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法: GET, POST和HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE和CONNECT方法。
方法 | 描述 |
---|---|
GET | 请求指定的页面信息,并返回实体主体。 |
HEAD | 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。 |
POST | 向指定资源提交数据进行处理请求,如提交表单或者上传文件。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 |
PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
DELETE | 请求服务器删除指定的页面。 |
CONNECT | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 |
OPTIONS | 允许客户端查看服务器的性能。 |
TRACE | 请求服务器回显其收到的请求信息,该方法主要用于HTTP请求的测试或诊断。 |
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
- GET - 从指定的资源请求数据;
- POST - 向指定的资源提交要被处理的数据;
get请求方法
查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
|
|
有关 GET 请求的其他一些注释:
- GET 请求可被缓存
- GET 请求保留在浏览器历史记录中
- GET 请求可被收藏为书签
- GET 请求不应在处理敏感数据时使用
- GET 请求有长度限制
- GET 请求只应当用于取回数据
post请求方法
请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:
|
|
有关 POST 请求的其他一些注释:
- POST 请求不会被缓存
- POST 请求不会保留在浏览器历史记录中
- POST 不能被收藏为书签
- POST 请求对数据长度没有要求
post和get的区别
GET | POST | |
---|---|---|
刷新 | 无影响。 | 数据会被重新提交。 |
书签 | 可收藏为书签。 | 不可收藏为书签。 |
缓存 | 能被缓存。 | 不能缓存。 |
传输 | 通过网址字符串。 | 通过二进制数据。 |
历史 | 参数保留在浏览器历史中。 | 参数不会保存在浏览器历史中。 |
长度 | URL 的最大长度是 2048 个字符。 | 理论上无限制。 |
类型 | 只允许 ASCII 字符。 | 没有限制。也允许二进制数据。 |
安全性 | 较差,明文可见。 | 较好,参数不会被保存在浏览器历史或web服务器日志中。 |