十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
get提交是用显式提交 可以看到传递的参数 post提交时隐式提交 看不到参数 所以你只需要看提交后网页的链接 有没有 xxx=xxx就可以判断了 有xxx=xxx的话 就是get提交 没有的话 就是POST提交
十余年建站经验, 网站制作、做网站客户的见证与正确选择。成都创新互联公司提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
嗨 你好
post和get的区别
post 地址栏不会出现一大串?bjnghfgreygt这样的东西如果是get,就会出现了1、Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,如[url];password=sad[/url],数据都会 直接显示在 url 上,就像用户点击一个链接一样;Post 方法通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由 action 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理2、 Get 方式需要使用 Request.QueryString 来取得变量的值;而 Post 方式通过 Request.Form 来访问提交的内容3、Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好;而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击,根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节建议:除非你肯定你提交的数据可以一次性提交,否则请尽量用 Post 方法4、Get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码,所以表单提交建议使用 Post 方法;Post 方法提交的表单页面常见的问题是,该页面如果刷新的时候,会弹出一个对话框建议:出于安全性考虑,建议最好使用 Post 提交数据
post和get的不同之处
GET与POST的区别在于:(对于CGI)
如果以GET方式传输,所带参数附加在CGI程式的URL后直接传给server,并可从server端的QUERY_STRING这个环境变量中读取;
如果以POST方式传输,则参数会被打包在数据报中传送给server,并可从CONTENT_LENGTH这个环境变量中读取出来。
还有一种情况是,你用的是GET方式,但传送的参数是路径,如:
---- ahref="/cgi-bin/a.pl/usr/local/bin/pine" CGI /a
----这时所传递的参数"/usr/local/bin/pine"存放在PATH_INFO这个环境变量中。环境变量的读取方式为$str=$ENV{'QUERY_STRING'};
理论上说,GET是从服务器上请求数据,POST是发送数据到服务器。事实上,GET方法是把数据参数队列(query string)加到一个URL上,值和表单是一一对应的。比如说,name=John。在队列里,值和表单用一个符号分开,空格用 号替换,特殊的符号转换成十六进制的代码。因为这一队列在URL里边,这样队列的参数就能看得到,可以被记录下来,或更改。通常GET方法还限制字符的大小。事实上POST方法可以没有时间限制的传递数据到服务器,用户在浏览器端是看不到这一过程的,所以POST方法比较适合用于发送一个保密的(比如信用卡号)或者比较大量的数据到服务器。
Post是允许传输大量数据的方法,而Get方法会将所要传输的数据附在网址后面,然后一起送达服务器,因此传送的数据量就会受到限制,但是执行效率却比Post方法好。
对于GET提交的数据,WWW服务器将把数据放在环境变量QUERY_STRING中;对于POST方法,数据被送到WWW服务器的STDOUT中,然后CGI从自己的STDIN中读取。使用传统的CGI方法,用户必须自己编程来处理这些数据。
GET与POST的区别在于,如果以GET方式传输,所带参数附加在CGI程式的URL后直接传给server,并可从server端的QUERY_STRING这个环境变量中读取;如果以POST方式传输,则参数会被打包在数据报中传送给server,并可从CONTENT_LENGTH这个环境变量中读取出来。还有一种情况是,你用的是GET方式,但传送的参数是路径,如: ---- ahref="/cgi-bin/a.pl/usr/local/bin/pine" CGI /a ----这时所传递的参数"/usr/local/bin/pine"存放在PATH_INFO这个环境变量中。环境变量的读取方式为$str=$ENV{'QUERY_STRING'};
总结起来:
get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在servlet/jsp中就无法处理发挥java的比如vector之类的功能);
post方式:就传输方式讲参数会被打包在数据报中传输,从CONTENT_LENGTH这个环境变量中读取,便于传送较大一些的数据,同时因为不暴露数据在浏览器的地址栏中,安全性相对较高,但这样的处理效率会受到影响。
-------------------
在表单里使用”post”和”get”有什么区别
在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两点不同:1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交时,你必须通过Request.Form来访问提交的内容。仔细研究下面的代码。你可以运行之来感受一下:代码!--两个Form只有Method属性不同--FORM ACTION=“getpost.asp” METHOD=“get”INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”/INPUTINPUT TYPE=“submit” VALUE=“Method=Get”/INPUT/FORMBRFORM ACTION=“getpost.asp” METHOD=“post”INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”/INPUTINPUT TYPE=“submit” VALUE=“Method=Post”/INPUT/FORMBRBR% If Request.QueryString(“Text”) ““ Then %通过get方法传递来的字符串是: “B%= Request.QueryString(“Text”) %/B“BR% End If %% If Request.Form(“Text”) ““ Then %通过Post方法传递来的字符串是: “B%= Request.Form(“Text”) %/B“BR% End If %说明把上面的代码保存为getpost.asp,然后运行,首先测试post方法,这时候,浏览器的url并没有什么变化,返回的结果是:通过Post方法传递来的字符串是: "Hello World"然后测试用get方法提交,请注意,浏览器的url变成了:而返回的结果是:通过get方法传递来的字符串是: "Hello World"最后再通过post方法提交,浏览器的url还是:而返回的结果变成:通过get方法传递来的字符串是: "Hello World"通过Post方法传递来的字符串是: "Hello World"提示通过get方法提交数据,可能会带来安全性的问题。比如一个登陆页面。当通过get方法提交数据时,用户名和密码将出现在URL上。如果:1、登陆页面可以被浏览器缓存;2、其他人可以访问客户的这台机器。那么,别人即可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,get方法会带来严重的安全性问题。建议在Form中,建议使用post方法。
您好,提问者: GET xxx HTTP/1.1首先这是固定的,如果是get方式提交的话,那么第一行必定是这个。 可以通过readLine()读取第一行,如下代码: //这样获取的是get提交的数组,空格分割 String[] getTitle = xx.readLine().split(" +"); String g
get是默认提交方式,如果不在method方法中声明,表单会议get方式提交到服务器,提交的数据信息会显示在浏览器栏地址栏内,Post方式提交表单后的地址栏不变 。doGet和doPost对应其form的mothod属性Get和Post。Get方式提交来的数据在服务器端用Request.QueryString()来获取,用Post方式提交的数据用Request.Form()来获取,但默认还是可以用request()获得
利用get方法提交的内容不能超过2kb,否则提交会失败,
post无限制