• Get与Post区别小结


          Get:是以实体的方式得到由请求Url所指定资源的信息,如果请求Url只是一个数据产生过程,那么最终要在实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。

          Post:是用来向目的服务器发出请求,要求服务器接受被附在请求后的实体,,并把它当作请求队列中请求Url所指定资源的附加新子项。Post主要实现以下功能:(1)对现有资源的解释;(2)向电子公告栏、新闻组、邮件列表及类似讨论组发消息;(3)提交数据块;(4)通过附加操作来扩展数据库。

          从以上看出,Get是向服务器发送的索取数据的一种请求;而Post是向服务器提交数据的一种请求,要提交的数据位于信息头后面的实体中。

        一方面,Get与Post(对于“Post”cache-control或者expires头域指示不可缓存外)请求均可缓存。

        另一方面,在以下方面存在差异:

          1.生成方式:

          get方式有四种:1)直接在Url地址栏中输入Url;2)网页中的超链接;3)form中method为get;4)form中method为空时,默认是get提交。

          post只知道有一种:form中method属性为post。

          注意:form提交的时候,如果不指定method,则默认为get请求,form中提交的数据将会附加在url之后,以?与URL分开。字母数字字符原样发送,但空格转换为“+”号,其它符号转换为%xx,其中xx为该符号为16进制表示的ASCII(或ISO Latin-1)值;

          2、数据传送方式:

          get方式:表单数据存放在Url地址后面。所有get方式提交时HTTP中没有消息体。

          post方式:表单数据存放在HTTP协议的消息体中以实体的方式传送到服务器。

          3、服务器获取数据方式:

          Get方式:服务器采用request.QueryString来获取变量的值。

          Post方式:服务器采用request.Form来获取数据。

          4、传送的数据量:

          Get方式:数据量长度有限制,一般不超过2kb。因为是参数传递,且在地址栏中,故数据量有限制。

          Post方式:适合大规模的数据传送。因为是以实体的方式传送的。

          5、安全性:

          Get方式:安全性差。因为是直接将数据显示在地址栏中,浏览器有缓冲,可记录用户信息。所以安全性低。

          Post方式:安全性高。因为post方式提交数据时是采用的HTTP post机制,是将表单中的字段与值放置在HTTP HEADER内一起传送到ACTION所指的Url中,用户是看不见的。

          6、在用户刷新时

          Get方式:不会有任何提示。

          Post方式:会弹出提示框,问用户是否重新提交。

  • 相关阅读:
    [翻译] AAPullToRefresh
    [翻译] DKTagCloudView
    【转】Data URL和图片,及Data URI的利弊
    【转】C#获取当前日期时间(转)
    【转】Android的setTag
    【转】Android之Adapter用法总结
    【转】jpg png区别和使用
    【转】Android UI开发第三十一篇——Android的Holo Theme
    【转】android中的Style与Theme
    【转】关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
  • 原文地址:https://www.cnblogs.com/xinaixia/p/3972173.html
Copyright © 2020-2023  润新知