Post和Get请求的区别(写出来用于巩固自己的知识)

最直观的区别是Get把参数包含在URL中,Post通过request body传递参数。
Http请求报文由四部分组成:请求行,请求头部,空行,请求数据。
1.请求行
请求行由请求方法字段,URL字段和Http协议版本字段3个字段组成他们用空格分隔。比如Get /data/info.html HTTP/1.1
2.请求头部
HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。
请求头中包含了很多请求规范,形成约束,对客户的数据进行约束。
3.空行
它的作用是一个空行,告诉服务器请求头部到此为止了。
4.请求数据
若方法字段是GET,则此项为空,没有数据
若方法字段是POST,则通常来说此处放置的就是要提交的数据

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

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

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

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

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

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

GET只接受ASCII字符,而POST没有限制。

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

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

GET和POST是HTTP协议中的两种发送请求的方法。HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。

HTTP的地层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP连接。GET和POST能做的事情是一样一样的。你要给GET加上request body ,给POST带上url参数,技术上是完全行得通的。

HTTP请求像是运输信息的汽车,浏览器等的像是卸载信息的公司。

GET和POST还有一个重大区别,
GET只产生一个数据包,而POST产生两个数据包
GET方法一次直接将http header 和data 一并发送出去,服务器响应200(返回数据)
POST浏览器先发送header ,服务器响应100 continue ,浏览器再发送data ,服务器响应00 ok (返回数据)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值