对GET和POST的正确理解

来源:互联网 发布:java 多线程 csdn 编辑:程序博客网 时间:2024/06/15 18:13


                          对GET和POST的正确理解


  

   GET是用于获取数据的,POST,一般用于将数据发给服务器之用。再具体的区别,只


能去看RFC文档了,还要取决于服务器(指Apache,IIS)的具体实现。


 原来的理解


   可能很多人都已经猜到了,一开始我们查到的很多介绍都是:


   1. GET使用URL或Cookie传参。而POST将数据放在BODY中。


   2. GET的URL会有长度上的限制,则POST的数据则可以非常大。


   3. POST比GET安全,因为数据在地址栏上不可见。




  事实

   (1)Post 和 get与数据的传输没有什么关系


   (2)http协议对get和post都么有长度的限制。



   (3)安全性与post和get 没有直接的关系


  综上所述

  

    •GET 仅用来获取查看信息,不能改变服务器信息。


    •POST 用来改变服务器信息。



在表单里使用”post”和”get”有什么区别


   在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,

post和get方法在使用上至少有两点不同:


   1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。


   2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交

时,你必须通过Request.Form来访问提交的内容。



对比小结

                 

  

  不管是发送GET请求,还是发送POST请求,程序获取URLConnection响应的方式完全一


样:如果程序可以确定远程响应是字符流,则可以使用字符流来读取;如果程序无法确


定远程响应是字符流,则使用字节流读取即可。



    所以我对于GET和POST的理解,是纯粹地来源于HTTP协议。他们只有一点根本区别,


简单点儿说,一个用于获取数据,一个用于修改数据,包含机密信息的话,建议用Post


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


议用Post方式;。具体的请参考RFC文档。



         

 

0 0