HTTP(Hypertext Transfer Protocol)定义了一组不同的请求方法,用于指示请求的目的。在 web 开发中,我们经常使用这些方法来与服务器进行通信。以下是一些常用的 HTTP 方法:
GET
GET 方法用于请求指定的资源。该方法只是请求服务器发送某个资源,而不会对服务器上的资源做任何修改。GET 请求通常用于获取数据,比如请求一个网页或者图片。
示例代码:
GET /index.html HTTP/1.1 Host: www.example.com
POST
POST 方法用于向服务器提交数据。与 GET 不同,POST 方法会对服务器上的资源做出修改。通常用于提交表单数据或上传文件。
示例代码:
POST /submitForm HTTP/1.1 Host: www.example.com Content-Type: application/x-www-form-urlencoded username=johndoe&password=123456
PUT
PUT 方法用于在服务器上创建或更新资源。如果资源已经存在,则会被覆盖。通常用于更新数据或上传文件。
示例代码:
PUT /updateProfile HTTP/1.1 Host: www.example.com Content-Type: application/json {"name": "John Doe", "age": 30}
DELETE
DELETE 方法用于删除服务器上的资源。该方法会删除指定的资源,但不会返回任何数据。
示例代码:
DELETE /deleteUser/123 HTTP/1.1 Host: www.example.com
以上就是常用的 HTTP 方法,通过这些方法,我们可以与服务器进行各种交互操作。
GET | POST | |
---|---|---|
后退按钮/刷新 | 无害 | 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 |
书签 | 可收藏为书签 | 不可收藏为书签 |
缓存 | 能被缓存 | 不能缓存 |
编码类型 | application/x-www-form-urlencoded | application/x-www-form-urlencoded or multipart/form-data。为二进制数据使用多重编码。 |
历史 | 参数保留在浏览器历史中。 | 参数不会保存在浏览器历史中。 |
对数据长度的限制 | 有限制。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 | 无限制。 |
对数据类型的限制 | 只允许 ASCII 字符。 | 没有限制。也允许二进制数据。 |
安全性 | 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET ! | POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。 |
可见性 | 数据在 URL 中对所有人都是可见的。 | 数据不会显示在 URL 中。 |
方法 | 描述 |
---|---|
HEAD | 与 GET 相同,但只返回 HTTP 报头,不返回文档主体。 |
PUT | 上传指定的 URI 表示。 |
DELETE | 删除指定资源。 |
OPTIONS | 返回服务器支持的 HTTP 方法。 |
CONNECT | 把请求连接转换到透明的 TCP/IP 通道。 |