Form表单中post和get的区别

转载 2012年03月21日 13:55:21
 
post和get的区别

 

post 地址栏不会出现一大串?bjnghfgreygt这样的东西

如果是get,就会出现了

1、Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,如[url]http://www.mdm.com/test.asp?name=asd&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 提交数据
 
============================================================================================
二者主要区别如下:
 1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
 3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。
 4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。
 5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
6、Get是Form的默认方法。
GET 和 POST 的数据格式都是一样的:
GET 支持的最大字节限制是 2048 Bytes
POST 支持的最大字节限制是 2GB

 

相关文章推荐

HTML表单(HTML Form)中get 和post 的区别

当用户在 HTML 表单 (HTML Form) 中输入信息并提交之后,有两种方法将信息从浏览器传送到 Web 服务器 (Web Server)。 一种方法是通过 URL,另外一种是在 HTTP R...

[HTML]表单form的method属性get/post区别

一、问题的提出    action="getPostServlet/getPost.do?param4=param4" method="get">       ...

HTML中<form>表单利用 post 提交与利用 get 提交时的区别

利用HTML的表单写一个简单的注册页面

form表单中get与post的区别

浏览器XML Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下: 1、Get是用来从服务器上获得数据,而Post是用来向服...

form表单中method的get和post区别

一、问题的提出 注意到表单中action:getPostServlet/getPost.do?param4=param4 这个acti...

form表单中method 的get和post区别

本文章主要讲form表单中的get与post的区别。

form表单中method的get和post区别

一、get和post定义 form元素的method属性用来指定发送form的http方法; 使用get时,form数据集被附加到form元素的action属性所指定的URL后面; 使用post...

form表单中method的get和post区别

转载来自:http://www.cnblogs.com/ycxyyzw/p/3158716.html 一、问题的提出     action="getPostServlet/ge...

<form> 表单里的method(post/get)方法

定义和用法 method 属性规定如何发送表单数据(表单数据发送到 action 属性所规定的页面)。 表单数据可以作为 URL 变量(method="get")或者 HTTP post ...

HTML表单Form中的get和post方法:

HTML表单Form中的get和post方法: get post form 在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的。  Form提供了两种数据传输的方式——ge...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)