浅淡get和post的区别(面试题)

GET和POST是什么?
GET和POST是HTTP协议中的两种发送请求的方法。浏览器用GET请求来获取一个html页面/图片/css/js等资源;用POST来提交一个表单,并得到一个结果的网页。(HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本。)
1.url可见性:
get,参数url可见
post,url参数不可见
( GET参数通过URL传递,POST放在HTTP的包体内(Request body)中。)
2.传输数据的大小:
get一般传输数据大小不超过2k-4k
post请求传输数据的大小根据php.ini 配置文件设定,也可以无限大.实际上IIS4中最大量为80KB,IIS5中为100KB
3.数据传输上:
GET参数通过URL传递,POST放在Request body中。
(GET产生一个TCP数据包;浏览器会把http header和data一并发送出去,服务器响应200(返回数据
POST产生两个TCP数据包。浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 (返回数据)时间一般可以忽略)
4.缓存性:
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
5.后退页面的反应
get请求页面后退时,不产生影响
post请求页面后退时,会重新提交请求
GET在浏览器回退时是无害的,而POST会再次提交请求。
6.安全性:
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
(但是两种方式都不安全。为了避免传输中数据被窃取,必须做从客户端到服务器的端端加密。业界的通行做法就是https——即用SSL协议协商出的密钥加密明文的http数据。)
7.关于编码:
GET请求只能进行url编码,而POST支持多种编码方式
确切地说应该是http中url用什么编码,body用什么编码。
GET只接受ASCII字符的参数的数据类型,而POST没有限制。

点击了解更加详细的介绍get与post的区别

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值