zoukankan      html  css  js  c++  java
  • 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方式:会弹出提示框,问用户是否重新提交。

  • 相关阅读:
    按学生成绩排序
    错误分析:floating point formats not linked
    学生成绩等级统计
    两个链表按升序合并
    js随机生成hex色值
    WEB监控系列第一篇:web监控搭建——graphite+statsd(单机搭建)
    WEB监控系列第四篇:statsd指南
    WEB监控系列第三篇:graphite指南
    安装Fedora 15后需做的25件事情
    《python tutorial》python 学习第二天
  • 原文地址:https://www.cnblogs.com/xinaixia/p/3972173.html
Copyright © 2011-2022 走看看