• post和get的区别


    一、功能不同

    1、get是从服务器上获取数据。

    2、post是向服务器传送数据。 

    二、过程不同

    1、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。

    2、post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 

    三、获取值不同

    1、对于get方式,服务器端用Request.QueryString获取变量的值。

    2、对于post方式,服务器端用Request.Form获取提交的数据。 

    四、传送数据量不同

    1、get传送的数据量较小,不能大于2KB。

    2、post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 

    五、安全性不同

    1、get安全性非常低。

    2、post安全性较高。 

    如果没有加密,他们安全级别都是一样的,随便一个监听器都可以把所有的数据监听到;

    POST和GET都是向服务器提交数据,并且都会从服务器获取数据。

    区别:

    1、传送方式:get通过地址栏传输,post通过报文传输。

    2、传送长度:get参数有长度限制(受限于url长度),而post无限制

    3、GET和POST还有一个重大区别,简单的说:

    GET产生一个TCP数据包;POST产生两个TCP数据包

    长的说:

    对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

    而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

    也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。

    因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。为什么?

    1. GET与POST都有自己的语义,不能随便混用。

    2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。

    3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

    建议:

    1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;

    2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

    案例:一般情况下,登录的时候都是用的POST传输,涉及到密码传输,而页面查询的时候,如文章id查询文章,用get 地址栏的链接为:article.php?id=11,用post查询地址栏链接为:article.php, 不会将传输的数据展现出来。

    拓展资料:

    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中。

  • 相关阅读:
    census 安全处理模式
    基于squid 暴露k8s 服务
    nginx 动态模块问题
    juicefs 多s3 bucket 使用
    k8s 数据卷需要很长时间才能挂载成功
    一种基于s3 管理haproxy 配置的模式
    WebSub 互联网分布式\订阅标准
    maven 多模块父模块问题deploy 问题
    nginx 作为s3 的gateway
    juicefs 单机试用
  • 原文地址:https://www.cnblogs.com/lst619247/p/14509778.html
Copyright © 2020-2023  润新知