Get请求和Post请求的区别

本文详细阐述了HTTP中GET和POST请求的区别,包括数据传输方式、安全性、参数处理、缓存行为以及TCP数据包处理过程。GET通常用于获取数据,而POST常用于发送和创建数据,POST提供更高的数据安全性且无长度限制。尽管技术上GET和POST可互换使用,但实际应用中应遵循最佳实践。
摘要由CSDN通过智能技术生成

get请求和post请求的区别起初我就知道,get请求是明文在地址栏传输,而post请求则与之相反不会出现在地址栏

下面就是get和post请求的详解

区别

1、get请求一般用来请求获取数据

     post请求一般作为发送数据到后台,传递数据,创建数据

2、get请求也可以传参到后台,但是传递的参数则显示在地址栏,安全性低,且参数的长度也有限制(2048字符)

     post请求则是将传递的参数放在request body中,不会在地址栏显示,安全性比get请求高,参数没有长度限制

3、get请求刷新浏览器或者回退没有影响

      post请求则会重新请求一遍

4、get请求可以被缓存,也会保留在浏览器的历史记录中

      post请求不会被缓存,也不好保留在浏览器的历史记录中

5、get请求通常是通过url地址请求

       post常见的则是form表单请求

总的来说get请求和post没有什么区别,因为都是基于http的请求,http的底层是tcp/ip,所以get和post请求底层也是tcp,其实get和post能做的事情是一样的,如果你给get请求加上request body,给post加上url也是可以的,技术上是行得通的,但是get请求传递的数据大小是有限制的,如果你传递的数据超过限制那么服务器就不会处理这部分数据,而有些服务器直接就给忽略掉了,所以虽然get可以带request body,但是不一定保证能被接受到。

最后还有一个区别,就是get产生一个tcp数据包,而post产生两个tcp数据包

get请求的话,浏览器会把header和data一起发送出去,服务器响应200并返回数据

post请求则是浏览器先发送header,服务器响应100 continue(这个表明服务端已经接收完所有的请求头,并且客户端应继续发送请求数据),然后再发送data,最后服务器响应200并返回数据

我们就拿送快递来打比方,get请求就是根据收货人信息直接把快递送给你,而post请求则是先询问你是不是收货人然后再把快递送给你

虽然看起来post请求到返回数据的时间长一点,但是在网络好的情况下这种差别基本上可以无视,但是post传递数据更完整,就算网络不好,也占有更大的优势

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值