返回
Get请求的特点
前端
2023-10-04 12:47:16
你敢在post和get上刁难我,就别怪我装逼了
我们来重温一下post和get的定义吧,有句话是这样的:
get用来获取数据,post用来提交数据
乍一看这很符合我们日常的使用习惯,实际上get也可以用来提交数据,只是我们很少用get去提交数据。
那么Post和Get的本质是什么呢?
实际上,这是一种请求方式,Post和Get是HTTP协议里的请求方式,也是我们使用的最多的请求方式。
HTTP协议是一个超文本传输协议,它定义了浏览器和服务器之间的通信规则。
HTTP协议是基于请求/响应模型的,也就是说,浏览器向服务器发送一个请求,服务器收到请求后处理它并返回一个响应。
请求方式决定了浏览器向服务器发送请求时,把数据放在哪里。
Post请求把数据放在请求体里,Get请求把数据放在请求头里。
GET请求
- GET请求的数据会显示在URL中,所以URL会有长度限制,这个值是2KB,当然有些服务器会适当的放宽,但还是有限制的。
- GET请求数据的大小有严格限制,如果是通过表单提交数据,那么表单数据不能超过100个字节,如果是直接通过URL传参,不能超过2KB。
- GET请求的数据是不安全的,因为URL是暴露在外的,所有人都能看到你的数据,数据很容易被泄露。
- GET请求一般是用来获取数据,比如从服务器读取数据,查询数据库,获取图片。
- GET请求可以被缓存,这意味着浏览器会将GET请求的结果保存起来,以便下次请求时直接从缓存中读取,而不用再向服务器发送请求。
POST请求
- POST请求的数据不会显示在URL中,所以数据是安全的,不容易被泄露。
- POST请求的数据大小没有限制,可以上传大文件。
- POST请求一般是用来提交数据,比如创建数据,更新数据,删除数据。
- POST请求不能被缓存,这意味着浏览器不会将POST请求的结果保存起来,下次请求时需要重新向服务器发送请求。
当然,get和post还可以通过请求头传递参数,参数存储在HTTP协议的头里面,这和url参数比较相似,不过这类型的数据也会显示在url里面。
get和post的常用场景:
- GET请求: 获取数据,查询数据,获取图片,获取网页内容。
- POST请求: 提交数据,创建数据,更新数据,删除数据。
什么时候该用GET,什么时候该用POST?
- GET请求: 如果要获取数据,应该使用GET请求。
- POST请求: 如果要提交数据,应该使用POST请求。
安全性
GET请求的数据是不安全的,因为URL是暴露在外的,所有人都能看到你的数据,数据很容易被泄露。POST请求的数据是安全的,因为数据不会显示在URL中,不容易被泄露。
缓存
GET请求可以被缓存,这意味着浏览器会将GET请求的结果保存起来,以便下次请求时直接从缓存中读取,而不用再向服务器发送请求。POST请求不能被缓存,这意味着浏览器不会将POST请求的结果保存起来,下次请求时需要重新向服务器发送请求。
总结
GET请求和POST请求都是HTTP协议的请求方式,GET请求用来获取数据,POST请求用来提交数据。GET请求的数据不安全,POST请求的数据安全。GET请求可以被缓存,POST请求不能被缓存。