get和post的区别

HTTP定义了与服务器交互的不同方法,最常用的方法有四种Put,Delete、post,get,即增删改查。
1.Get,它用于获取信息,它只是获取、查询数据,不会修改服务器上的数据,数据安全的,POST则可以修改数据

1)对数据长度的限制:GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)
2)编码类型:application/x-www-form-urlencoded
3)对数据类型的限制:只允许 ASCII 字符
4)安全性:与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET 
5)可见性:数据在 URL 中对所有人都是可见的

2.Post,向服务器发送修改请求,修改服务器的数据,比方说,我们要在论坛上回贴、在博客上评论,这就要用到Post了,当然它也是可以仅仅获取数据的。

1)对数据长度的限制:无限制
2)编码类型:application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码
3)对数据类型的限制:无限制
4)安全性:POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中
5)可见性:数据不会显示在 URL 中

二.Get和Post在报文上的区别
1.Get和Post方法没有实质上的区别,只是报文的格式不同。
1)Get方法请求报文的第一行是这样的

GET /uri HTTP/1.1 \r\n

2)Post方法请求报文第一行是这样的

POST /uri HTTP/1.1 \r\n

2.带参数时报文的区别
Get方法的参数应该放在url中,Post方法参数应该放在body中
1)Get方法的简约报文
其中:name=xiaxue&age=23是请求参数,带在url中

GET /index.php?name=xiaxue&age=23 HTTP/1.1
Host: localhost

2)Post方法的简约报文

POST /index.php HTTP/1.1
Host: localhost
Content-type: application/x-www-form-urlencoded
 
name=xiaxue&age=23

两种方法本质上是TCP连接,没有差别

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值