前言
今天想起来写这一篇文章,主要是无意中想起来当初面试的时候我的以为面试官曾问过我这个问题,因此我对此整理一下,希望对大家有所帮助。
简单介绍
TTP是超文本传输协议,其定义了客户端与服务器端之间文本传输的规范。HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端使用的端口是动态分配的。当我们没有指定端口访问时,浏览器会默认帮我们添加80端口。我们也可以自己指定访问端口如:http://www.ip138.com:80。 需要注意的是,现在大多数访问都使用了HTTPS协议,而HTTPS的默认端口为443,如果使用80端口访问HTTPS协议的服务器可能会被拒绝。
HTTP请求的方法:
HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法
1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
注意:
1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。
2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法。
在 Web 服务的开发中,HTTP 协议是最常使用的协议。其中,常见的 HTTP 请求方式有四种:POST
、GET
、DELETE
和 PUT
。
1. HTTP 请求方式
HTTP(Hypertext Transfer Protocol)是一种在计算机网络中用于传输超媒体文档的应用层协议。HTTP 协议定义了客户端和服务器之间的通信规则,并规定了客户端向服务器发送请求时需要采用的请求方法(请求方式)。
常见的 HTTP 请求方式有四种:
POST
(添加)GET
(查询)DELETE
(删除)PUT
(修改)
下面将分别对这四种请求方式进行详细介绍。
2. POST 请求
POST
请求用于向指定资源提交数据,通常会导致服务器端的状态发生变化。例如,在 Web 表单中填写用户信息并提交时,就是使用 POST
请求方式将表单数据提交到服务器存储。
使用 POST
请求方式提交的数据会被包含在请求体中,而不像 GET
请求方式那样包含在 URL 中。因此,POST
请求可以提交比 GET
更大的数据量,并且相对更安全。
2.1. 例子
下面是一个 POST
请求的例子:
POST /api/user HTTP/1.1 Host: example.com Content-Type: application/json Content-Length: 123 { "name": "John Doe", "email": "johndoe@example.com", "age": 30 }
上述代码表示向 example.com
的 /api/user
资源发送一个 POST
请求,请求体中包含了一个 JSON 格式的用户信息。
2.2. 优缺点
POST
请求的优点包括:
- 可以提交比
GET
更大的数据量。 - 相对更安全,因为请求参数不会被包含在 URL 中。
POST
请求的缺点包括:
- 对服务器性能的影响较大。
- 不适用于对同一资源进行多次操作。
2.3. 应用场景
- 向服务器提交表单数据。
- 向服务器上传文件。
- 创建资源或提交数据到服务器。
3. GET 请求
GET
请求用于向指定资源发出请求,请求中包含了资源的 URL 和请求参数。服务器端通过解析请求参数来返回相应的资源,不会修改服务器端的状态。
使用 GET
请求方式提交的数据会被包含在 URL 中,因此易于被缓存和浏览器保存,但也因此不适合用于提交敏感数据。
3.1. 例子
下面是一个 GET
请求的例子:
GET /api/user?id=123 HTTP/1.1 Host: example.com
上述代码表示向 example.com
的 /api/user
资源发送一个 GET
请求,请求参数中包含了用户的 ID。
3.2. 优缺点
GET
请求的优点包括:
- 可以被缓存和浏览器保存。
- 对服务器性能的影响较小。
GET
请求的缺点包括:
- 不适合用于提交敏感数据。
- 仅适用于对资源进行查询操作,不能修改服务器端的状态。
3.3. 应用场景
- 获取资源信息。
- 对资源进行查询操作。
4. DELETE 请求
DELETE
请求用于请求服务器删除指定的资源,可以理解为对服务器上的资源进行删除操作。使用 DELETE
方式请求会导致指定的资源被永久删除,因此需要谨慎使用。
4.1. 例子
下面是一个 DELETE
请求的例子:
DELETE /api/user?id=123 HTTP/1.1 Host: example.com
上述代码表示向 example.com
的 /api/user
资源发送一个 DELETE
请求,并指定要删除的用户的 ID。
4.2. 优缺点
DELETE
请求的优点包括:
- 可以永久删除指定的资源。
DELETE
请求的缺点包括:
- 对服务器性能的影响较大。
- 不适用于对同一资源进行多次操作。
4.3. 应用场景
- 删除指定的资源。
- 按照条件删除一组资源。
5. PUT 请求
PUT
请求用于向服务器更新指定资源,可以理解为对服务器上的资源进行修改操作。使用 PUT
请求方式会覆盖原有的资源内容,因此需要谨慎使用。
5.1. 例子
下面是一个 PUT
请求的例子:
PUT /api/user HTTP/1.1 Host: example.com Content-Type: application/json Content-Length: 123 { "id": 123, "name": "John Doe", "email": "johndoe@example.com", "age": 30 }
上述代码表示向 example.com
的 /api/user
资源发送一个 PUT
请求,并指定要更新的用户信息。
5.2. 优缺点
PUT
请求的优点包括:
- 可以更新指定的资源。
PUT
请求的缺点包括:
- 对服务器性能的影响较大。
- 不适用于对同一资源进行多次操作。
5.3. 应用场景
- 更新指定的资源。
- 按照条件更新一组资源。
6. 总结
本文详细介绍了 HTTP 中常见的四种请求方式:POST
、GET
、DELETE
和 PUT
。这四种请求方式各有优缺点,需要根据具体的应用场景选择使用。熟练掌握这些请求方式有助于我们在 Web 服务的开发中更加便捷和高效地实现各种功能。
今天的文章
https与http区别_https与http区别分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80318.html