HTTP请求方法(GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT)

1、GET

get请求是用来获取数据的,只是用来查询数据,不对服务器的数据做任何的修改,新增,删除等操作。

在这里我们认为get请求是安全的,以及幂等的。安全就是指不影响服务器的数据,幂等是指同一个请求发送多次返回的结果应该相同。

特点:

get请求会把请求的参数附加在URL后面,这样会产生安全问题,用?分割URL和传输数据,参数之间以&连接,如/Response/get?key1=value1&key2=value2。如果是系统的登陆接口采用的get请求,需要对请求的参数做一个加密。

get请求其实本身HTTP协议并没有限制它的URL大小,但是不同的浏览器对其有不同的大小长度限制

2、POST

post请求一般是对服务器的数据做改变,常用来数据的提交,新增操作。例如微博论坛的评论,图片上传,表单提交等。

特点:

post请求把提交的数据放在请求体body中。

post请求本身HTTP协议也是没有限制大小的,限制它的是服务器的处理能力

3.HEAD

类似于get请求,向服务器索要与get请求相一致的响应,只不过返回的响应中没有具体的内容,用于获取报头。
4、PUT

put请求与post一样都会改变服务器的数据,但是put的侧重点在于对于数据的修改操作,但是post侧重于对于数据的增加。

5、DELETE

delete请求用来删除服务器的资源,请求服务器删除指定的页面。
DELETE请求一般返回3种码
200(OK)——删除成功,同时返回已经删除的资源。
202(Accepted)——删除请求已经接受,但没有被立即执行(资源也许已经被转移到了待删除区域)。
204(No Content)——删除请求已经被执行,但是没有返回资源(也许是请求删除不存在的资源造成的)。

6、OPTIONS

options请求属于浏览器的预检请求,查看服务器是否接受请求,预检通过后,浏览器才会去发get,post,put,delete等请求。至于什么情况下浏览器会发预检请求,浏览器会将请求分为两类,简单请求与非简单请求,非简单请求会产生预检options请求。允许客户端查看服务器的性能

7、TRACE

是HTTP(超文本传输)协议定义的一种协议调试方法,该方法会使服务器原样返回任意客户端请求的任何内容。回显服务器收到的请求,主要用于测试或诊断。

8、CONNECT

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
CONNECT这个方法的作用就是把服务器作为跳板,让服务器代替用户去访问其它网页,之后把数据原原本本的返回给用户。这样用户就可以访问到一些只有服务器上才能访问到的网站了,这就是HTTP代理。
要是使用CONNECT方法,首先要让服务器监听一个端口来接收CONNECT方法的请求,在服务器监听了端口以后就是客户端的请求,我们必须告诉代理服务器我们想要访问哪个Internet服务器。假如我想通过代理访问这个博客(www.web-tinker.com),我就需要建立一个TCP连接,连接到服务器监听的那个端口,然后给服务器发送一个HTTP头。下面就是这个HTTP头的内容:
CONNECT www.web-tinker.com:80 HTTP/1.1
Host: www.web-tinker.com:80
Proxy-Connection: Keep-Alive
Proxy-Authorization: Basic *
Content-Length: 0

另外:这些不同方式的请求形式,只是一种规范定义而已,并不是说get请求无法修改服务器的数据,只是一种规范,比如你也可以所有的请求都通过post方式来访问,实现功能上面没有任何问题,只是说这种做不符合了规范而已,我们平常编码还是尽量符合规范比较好。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值