- 5
- 0
- 约1.36千字
- 约 2页
- 2017-06-07 发布于重庆
- 举报
表单提交方法之form中get和post的区别
?一、get和post定义?form元素的method属性用来指定发送form的http方法:?使用get时,form数据集被附加到form元素的action属性所指定的URI后面。?使用post时,form数据集被包装在请求的body中并被发送。?
窗体底端
使用get提交方式,生成的URI:user.do?loginId abc?get仅仅是拼接一个URI,然后直接向服务区请求数据,需要提交给服务器的数据集包含在URI中。?使用post提交方式,生成的URI:user.do?post会把form的数据集,即loginId abc这个键值对包装在请求的body中,发给服务器,然后向服务器请求数据。?二、get和post区别?1、安全性?如果用get提交一个验证用户名和密码的form,一般认为是不安全的,因为用户名和密码将出现在URL上,进而出现在浏览器的历史记录中。显然,在对安全性有要求的情况下,应该使用post。?2、编码?get只能向服务器发送ASCII字符,而post则可以发送整个ISO10646中的字符。?get和post对应的enctype属性有区别。enctype有两个值默认值为application/x-www-form-urlencoded,而另一个值multipart/form-data只能用于post。?3、提交的数据长度?IE将请求的URL长度限制为2083个字符,从而限制了get提交的数据长度,如果URL超出了这个限制,提交form时IE不会有任何反映。?4、缓存?由于一个get得到的结果直接对应到一个URI,所以get的结果页面有可能被浏览器缓存。而post一般则不能。?5、引用和SEO?可以用一个URI引用一个get的结果页面,而post的结果则不能,所以必然不能被搜索引擎搜到。?三、正确的使用get和post?当且仅当form是幂等的时候,使用get。?幂等:多次相同的请求产生的副作用,和一次请求的副作用相同。?如果提交请求纯粹只是从服务器端获取数据而不是进行其他操作,并且多次提交不会有明显的副作用,应该使用get。?比如:搜索引擎的查询 /search?q abc 和分页 user.do?page 1 ?如果提交这个请求会产生其他操作和影响,就应该使用post。?比如:修改服务器上数据库中的数据;发送一封邮件;删除一个文件等?另一个要考虑因素是安全性。?若符合下列任一情况,则用post方法:?a.请求的结果有持续性的副作用,例如:数据库内添加新的数据行。?b.若使用get方法,则表单上收集的数据可能让URL过长。?c.要传送的数据不是采用ASCII编码。?若符合下列任一情况,则用get方法:?a.请求是为了查找资源,html表单数据仅用来搜索。?b.请求结果无持续性的副作用。?c.收集的数据及html表单内的输入字段名称的总长不超过1024个字符。?四、浏览器差异?IE6:URL长度限制为2083个字符;post之后,刷新页面不会自动重新post数据,会出现警告。?IE7和IE6相同。?Firefox:刷新页面不会自动重新post数据会出现警告。
您可能关注的文档
- 血管瘤专家解释婴儿鲜红斑痣的的相关问题.doc
- 血管瘤形成的其他原因.doc
- 青马学习心得参考.doc
- 《水化学》池塘养殖水体水质调控.ppt
- 血糖仪与实验室检测血糖比对分析报告1.doc
- 青龙小学导游教育特色学校创建方案.doc
- 血糖仪产品的临床要求.doc
- 青龙水电站安全知识考试试卷.doc
- 《水浒传李逵负荆》.ppt
- 《江苏省建设项目环境影响报告表主要内容编制要求》.doc
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
原创力文档

文档评论(0)