[Java教程]get和post方法的区别

0 2013-12-12 21:02:20

在form表单提交数据的过程中,method属性提供了两个值:get,post,默认为get方式[参1]

即一种为get提交,一种是post提交。那么这两种提交方式有什么不同呢?

查询了一些资料后,总结如下:

1.本质

Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求

2.服务器端获取值的方法

get方式提交的数据,服务器端使用request.QueryString获取变量的值

post方式提交的数据,服务器端使用request.Form获取数据

3.安全性

get方式安全性低,post方式较安全。但是post方式执行效率要比get方式差一些。

4.机制

get是把参数数据队列加到提交表单的action属性所指的URL中,如:http://www.xxx.com?sessonid=db23434&name=hongten&age=20。在URl中,值和表单南日各个字段一一对应,并且这些在URl中对用户来说是可见的,即用户时可以看到的。如:name=hongten。

post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到action属性所指的URL地址,对于用户来说,这是透明的。

5.大小

URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。

理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说“POST数据量存在80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。

对于ASP程序,Request对象处理每个表单域时存在100K的数据长度限制。但如果使用Request.BinaryRead则没有这个限制。

由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制。我们还需要注意:

1).IIS 6.0默认ASP POST数据量最大为200KB,每个表单域限制是100KB。

2).IIS 6.0默认上传文件的最大大小是4MB。

3).IIS 6.0默认最大请求头是16KB。

IIS 6.0之前没有这些限制。[参2]

总结:

one:get方式的安全性较post方式要差一些,所以,包含一些重要的信息的话,简易使用post数据提交方式

two:在做查询统计的时候,使用get方式要更好一些;而在做数据的添加,修改或删除操作时,建议使用post数据提交方式

参考:

1.Hypertext Transfer Protocol--HTTP/1.1

2.IIS 6.0 Troubleshooting

更多信息:

浅谈HTTP中Get与Post的区别

两个长度限制问题的分析(来源于项目)

本文网址:http://www.shaoqun.com/a/78274.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

post

0

java get 和post_[Java教程]get和post方法的区别相关推荐

  1. java sendredirect报错_java 中sendredirect()和forward()方法的区别

    HttpServletResponse.sendRedirect与RequestDispatcher.forward方法都可以实现获取相应URL资源. sendRedirect实现请求重定向,forw ...

  2. java数据成员_Java基础教程之对象的方法与数据成员

    在Java基础教程之从Hello World到面向对象一文中,我们初步了解了对象(object).对象中的数据成员表示对象的状态.对象可以执行方法,表示特定的动作. 此外,我们还了解了类(class) ...

  3. java.nio.ByteBuffer中flip、rewind、clear方法的区别

    对缓冲区的读写操作首先要知道缓冲区的下限.上限和当前位置.下面这些变量的值对Buffer类中的某些操作有着至关重要的作用: limit:所有对Buffer读写操作都会以limit变量的值作为上限. p ...

  4. [转] java.nio.ByteBuffer中flip、rewind、clear方法的区别

    转载 对缓冲区的读写操作首先要知道缓冲区的下限.上限和当前位置.下面这些变量的值对Buffer类中的某些操作有着至关重要的作用: limit:所有对Buffer读写操作都会以limit变量的值作为上限 ...

  5. java——Scanner中nextLine()方法和next()方法的区别

    遇到一个有意思的东西,在整理字符串这块知识的时候,发现我在用Scanner函数时,在字符串中加入空格,结果空格后面的东西没有输出来(/尴尬),不多说直接上代码: import java.util.Sc ...

  6. jsp与java的关系_jsp教程中:jsp与servlet的区别和关系

    jsp教程上:我们一定学了servlet,也学习了jsp,那么jsp与servlet的区别是什么呢,jsp与servlet又有什么关系呢?下面我们先创建一个demo.jsp的页面,然后tomcat运行 ...

  7. Java培训教程:”==“和 equals 方法究竟有什么区别?

    在学习java技术过程中,我们会接触到一些变量值的相关知识,本期小编为大家介绍的教程就是关于"=="和 equals 方法究竟有什么区别?来看看下面的详细介绍. Java培训教程: ...

  8. appium java类库下载,appium 简明教程 (4)——appium client 的安装

    appium client 是对 webdriver 原生 api 的一些扩展和封装.它可以帮助我们更容易的写出用例,写出更好懂的用例. appium client 是配合原生的 webdriver ...

  9. Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并处理异常

    Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并处理异常 参考文章: (1)Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并 ...

  10. 面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)...

    前些天,我在博客园里写了篇文章,如何在面试中介绍自己的项目经验,收获了2千多个点击,这无疑鼓舞了我继续分享的热情,今天我来分享另外一个面试中的甚至可以帮助大家逆转的技巧,本文来是从 java web轻 ...

最新文章

  1. IE下的优秀js调试工具Companion.JS
  2. Mac NIFI 安装
  3. Tenka1 Programmer Contest C - Align
  4. 多线程实现的4中方法
  5. 3D数学之四元组应用及实现
  6. 原生js更改html,原生js更改css样式的两种方式
  7. 《Spring Data实战》——2.2 定义查询方法
  8. .Net WebApi接口之Swagger集成详解
  9. HTMLCSS入门学习
  10. tensorflow keras 搭建相机位姿估计网络--例
  11. 内网部署GPS定位系统方案
  12. 常用的四个电路分析方法
  13. 项目管理 : 需求管理的6个流程
  14. 详解Linux与Unix系统的区别与联系
  15. GB28181实现对安防摄像头的直播回放控制
  16. 37岁被裁,但毫无遗憾:小镇出身,一穷二白,完整吃过互联网+房地产红利,现在上海有千万房产!...
  17. 基于MATLAB的模拟信号AM、FM等调制与解调
  18. Linux下查看CPU、内存、磁盘使用情况,并计算其使用率
  19. linux邮件thunderbird,在 Linux 中安装新版的Thunderbird 邮件客户端
  20. 解决IDEA占用C盘空间过大的问题

热门文章

  1. Ubuntu12.04中如何让命令行路径变短
  2. Educational Codeforces Round 45 (Rated for Div. 2)
  3. 【solr基础教程之中的一个】Solr相关知识点串讲
  4. Unity3d 调用C++写的DLL
  5. nginx + tomcat配置负载均衡
  6. 用三方做的豆瓣电影页面
  7. ASP.NET MVC实现网站验证码功能
  8. 母版页的优点,及母版页与内容页中相互访问方法
  9. jQuery ctrl+Enter shift+Enter
  10. [学习日记] 文件读写 FileStream