Http的各种请求方法(详解)

摘要

我们知道,当我们访问各种网页的时候,之所以能够看到页面,根本原因是发送了http请求然后得到了响应,从而页面才会弹出来。再或者我们上传一些照片和视频时,之所以可以上传成功也是因为我们通过http请求来进行上传,从而将资源放在了网上。

在这里插入图片描述
当客户端像服务端发送请求的时候,针对于不同意图的请求,我们分成了不同的http请求方法。

1.GET请求

GET方法是最常见也是最简单的http请求方法,它主要用作于获取资源。也就是说我客户端请求什么,你服务器就原样给我返回什么。
我请求的是文本,你就保持原样返回;我请求的是像CGI那样的程序,你就给我返回运行结果。
在这里插入图片描述

2.POST请求

POST方法主要用来传输实体的主体。

也就是说,当客户端需要向服务器传输一些东西的时候呢,这个时候就可以用POST方法了。那GET方法可以不可以呢?当然也可以,但是我们不推荐使用GET方法来对实体的主体进行传输

在这里插入图片描述

这个时候我们就会出现一个经典的面试问题:咳咳,请问GET和POST有什么区别?

3.GET和POST的区别

这里面我们可以参考一下w3c里面说的:

1.GET在浏览器回退时是无害的,而POST会再次提交请求。

2.GET产生的URL地址可以被Bookmark,而POST不可以。

3.GET请求会被浏览器主动cache,而POST不会,除非手动设置。

4.GET请求只能进行url编码,而POST支持多种编码方式。

5.GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

6.GET请求在URL中传送的参数是有长度限制的,而POST么有。

7.对参数的数据类型,GET只接受ASCII字符,而POST没有限制。.

8.GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

9.GET参数通过URL传递,POST放在Request body中。

4.PUT请求

PUT方法主要用来传输文件,就像FTP协议的文件上传一样。
但是由于Http/1.1的PUT方法不带验证机制,存在安全性问题,所以一般的网站都不用这个方法来进行文件传输。

5.HEAD请求

HEAD请求主要用来获取报文首部

HEAD方法和GET方法一样,只不过不返回报文的主体部分。只是用来确定请求的有效性及资源的更新日期时间等。

在这里插入图片描述

6.DELETE请求

DELETE方法主要是用来删除某个资源,是和PUT完全相反的方法。
同时该方法也不带认证机制,所以一般网站并不会对它进行开放使用。

7.OPTIONS请求

OPTIONS方法用来查询:请求的指定资源都支持什么http方法。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46726346/article/details/122901302
今日推荐