如何使用postman测试web服务器

如何使用postman测试web服务器,第1张

情境假设

:

采用POST的请求方式,并且须夹带JSON数据给Web

API

使用方式

:

(1)

输入Web

API

地址,并选择以POST方式发送

GET:用于获取数据。

POST:用于修改数据。

一.GET和POST与数据如何传递没有关系

GET和POST是由HTTP协议定义的。在HTTP协议中,Method和Data(URL, Body, Header)是正交的两个概念,也就是说,使用哪个Method与应用层的数据如何传输是没有相互关系的。

二.HTTP协议对GET和POST都没有对长度的限制

HTTP协议明确地指出:HTTP头和Body都没有长度的要求。而对于URL长度上的限制,有两方面的原因造成:

1. 浏览器。据说早期的浏览器会对URL长度做限制。据说IE对URL长度会限制在2048个字符内(流传很广,而且无数同事都表示认同)。但我自己试了一下,我构造了90K的URL通过IE9访问live.com,是正常的。网上的东西,哪怕是Wikipedia上的,也不能信。

2. 服务器。URL长了对服务器处理也是一种负担。原本一个会话就没有多少数据,现在如果有人恶意地构造几个几M大小的URL,并不停地访问你的服务器。服务器的最大并发数显然会下降。另一种攻击方式是,把告诉服务器Content-Length是一个很大的数,然后只给服务器发一点儿数据,哪怕你有超时设置,这种故意的次次访问超时也能让服务器吃不了兜着走。有鉴于此,多数服务器出于安全稳定方面的考虑,会给URL长度加限制。但是这个限制是针对所有HTTP请求的,与GET、POST没有关系。

所以对于GET和POST,他们只有一点根本区别,简单点儿说:

一个用于获取数据。

一个用于修改数据。

参考资料

知识库.博客园[引用时间2018-1-9]

HTTP请求方法是HTTP请求中必不可少的一部分,需要我们熟悉并掌握。最开始的 HTTP1.0 中定义了 三种 请求方法:GET、POST 和 HEAD。后来的 HTTP1.1 中又新增了 五种 :PUT、DELETE、OPTIONS、TRACE 和 CONNECT。当然除了这八种请求方法,特定的HTTP服务器还能够 扩展自定义的方法 。例如实现局部更新的 PATCH 等方法。接下来就简单介绍一下八种基本的请求方法。

首先是八种请求应该实现的功能,HEAD 只用来获取响应的报头;POST、DELETE、PUT、GET 应该分别对应对数据的增、删、改、查;OPTIONS 用来测试服务器;TRACE 用来测试或诊断;CONNECT 预留给能够将连接改为管道方式的代理服务器。

一般我们最经常使用的也就是 POST、DELETE、PUT、GET 这四种了,虽说应该与增删改查一一对应,但是经常在使用的过程中,请求方式只是起到了传递数据的作用,而更详细地对数据的处理则留给后端模块。

一般来说,我们会使用 GET 方法来完成单纯的数据获取,因为 GET 方法应该是 安全的、等幂的 (idempotent),应该不涉及数据的修改,新增,删除等操作。等幂的意思可以简单理解 为对同一URL的多个请求应该返回同样的结果 。

涉及到提交数据方面的请求都使用 POST 来完成(你也可以使用 PUT、DELETE,其实没有太大的区别)。因为 POST 方法的安全性更高,POST 的数据是在请求体中发送的,而 GET 的数据是在 URL 中发送的(其实对稍微懂一点的人来说都没差)。且能够传输的数据大小没有限制,而 GET 方法最多只能传输 2KB的数据。

接来下是八种请求方式的描述:

1、HEAD

HEAD 方法是向服务器发出指定资源的请求,只不过 索要的只是响应头,响应体将不会被返回 。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。

2、GET

GET 方法与 HEAD 方法类似,是向指定的资源发出 显示 请求。使用 GET 方法应该只用在读取数据,而不应当被用于产生副作用的操作中,如修改数据等,因为 GET 可能会被网络爬虫等随意访问。GET 方法也能够向服务端发送数据,是直接加在 URL 中发送的,用 ? 分割URL和数据,用 &连接多个数据。

例如:https:mu-mu.cn/index.html?name=mumu&age=20

3、POST

GET 和 POST 是我们使用最频繁的两种请求方法,都是向服务器发出指定资源的请求。但是与 GET 方法不同,POST 方法一般拿来新建或修改服务器资源,所以数据与 POST 方法往往是不可分割的,POST 方法的数据会被包含在请求体中发送至服务端。

4、PUT

PUT 方法和 POST 方法非常类似,都是用作数据的修改,他们的区别就是,PUT 方法是 等幂 的,也就是说,如果你对一段资源进行多次 PUT 请求提交,最后的结果应该都是一样的,所以用来进行数据的修改;而 POST 方法如果进行多次数据提交,最后的结果是不一样的,所以应该用作数据的新增。

5、DELETE

DELETE 方法用来请求服务器 删除 Request-URI所标识的资源。

6、OPTIONS

OPTIONS 方法可使服务器传回对于该资源的 支持情况 ,包括各种请求方法、头部的支持情况等。客户端可以对特定的 URL 使用 OPTIONS 方法,也可以对整站(通过将 URL 设置为“*”)使用该方法,用来测试服务器功能是否正常运作。常见的例子还有跨域的时候,当我们发送的请求为非简单请求时(非 HEAD 、GET、POST,请求头不只有 Accept、Accept-Language、Content-Language、Last-Event-ID、三种Content-Type:application/x-www-form-urlencoded、multipart/form-data、text/plain),浏览器就会先发 OPTIONS 来试探服务器是否允许跨域。相信用过 Vue 的小伙伴应该对 OPTIONS 不陌生。

7、CONNECT

CONNECT 方法在一般的开发中使用不到,这个方法的作用就是把服务器作为跳板,让服务器代替用户去访问其它网页,之后把数据原原本本的返回给用户。这样用户就可以访问到一些只有服务器上才能访问到的网站了,这就是HTTP代理。

8、TRACE

TRACE 请求会在目的服务器端发起一个环回诊断。行程最后一站的服务器会弹回一条 TRACE 响应,并在响应主体中携带它收到的原始请求报文。这样客户端就可以查看在所有中间 HTTP 应用程序组成的请求 / 响应链上,原始报文是否,以及如何被毁坏或修改过。TRACE 方法主要用于 测试或诊断 ,验证请求是否如愿穿过了请求 / 响应链。

以上就是八种 HTTP 请求方式的简单介绍了,除了这基本的八种,还有特定服务器的扩展自定义方法,比如开头提到的 PATCH。平时如果只是满足简单的开发需要,GET 和 POST 就足够了, 但是如果能够掌握和应用这些请求方式,自然能够更上一层楼!

另外,如果你有兴趣,或者是有问题想要与我探讨,欢迎来访问我的博客:https:mu-mu.cn/blog


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/475851.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-07
下一篇2023-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存