html中get和post的区别和使用

如题所述

一、html中get和post的区别:

1、传递数据方式不同

Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,数据都会直接显示在 url 上,就像用户点击一个链接一样。

Post 方法通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由 action 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理。

2、 处理效率不同

Get 方式需要使用 Request.QueryString 来取得变量的值。而 Post 方式通过 Request.Form 来访问提交的内容。Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好。

而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击。

3、安全性不同

Get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码。

二、html中Get是最常用的方法:

通常用于请求服务器发送某个资源,而且应该是安全的和幂等的。

(1)、所谓安全是指该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改和增加数据,不会影响资源的状态。 

注意:这里安全的含义仅仅是指是非修改信息。

(2)、幂等是指对同一个URL的多个请求应该返回同样的结果。

三、html中POST的使用方法:

POST方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。

扩展资料

HTML中GET和POST的误区: 

POST可以比GET提交更多更长的数据:

1、由于使用GET方法提交数据时,数据会以&符号作为分隔符的形式,在URL后面添加需要提交的参数,有人会说,浏览器地址栏输入的参数是有限的,而POST不用再地址栏输入,所以POST就比GET可以提交更多的数据。

2、实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。

3、对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。所以POST也是没有大小长度限制的,HTTP协议规范也没有进行大小限制。起限制作用的是服务器的处理能力。总归一句话,这个限制是针对所有HTTP请求的,与GET、POST没有多少关系。

参考资料来源百度百科-HTML

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-13

1、get一般是从服务器上获取数据,而post是往服务器传送数据。

2.、安全性上,POST比GET安全,因为get数据时是在在地址栏上直接获取的,数据可见,post不可见。

3、传输数据量上,get方式提交的数据最多只能有1024字节,而post则没有此限制。

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

5、GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。

6、GET数据能被缓存,POST不能缓存 。

7、使用方法

GET请求:请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接,URL
采用的是ASCII编码。而不是unicode,非ASCII字符到要编码之后在运行,因此GET的请求会把请求暴露到地址栏,而POST不会。

GET http://weibo.com/signup.php?inviteCode=2388493434

Host: weibo.com

Accept: text/htm, application/xhtml+xml, application/xml:q=0.9,image/webp,*/*;q=0.8

POST请求:会把数据放置在HTTP请求包到包体中,以下item=bandsaw,就是实际到传输数据,POST是可以修改服务器数据的而GET不行。

POST /iventory-check.cgi HTTP/1.1

Host:www.joes-hard.com

Content-type:text/plain

Content-length: 18

item=bandsaw: 2647

本回答被网友采纳
第2个回答  推荐于2017-11-23
楼主您好
这里有详细用法
http://blog.163.com/llf_046/blog/static/527371192009224022140/

1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;本回答被提问者采纳
第3个回答  推荐于2018-03-13
本文介绍html中get和post的区别

主要区别:
get和post是html中表单的提交方式中的两种方式,其主要区别在于:
1、get
url 改变,在url 里显示 HTML Form 参数的 name/value 值。
只适合有少量参数的 HTML Form,因为 URL 长度有字符
涉及安全性的信息,比如用户密码,不能用 get,因为会在 URL 上显示,不安全。
2、post
url 不改变,不在 url 里显示 HTML Form 的数据。
Form 提交的信息没有长度
涉及安全性的信息,如用户密码,应采用 post 方式。本回答被网友采纳