form表单中method的get和post区别

【QML初学者文档】一问读懂QML基础开发(内附大量简单源码) QML是Qt的一大特色,拥有强大的UI制作能力。但是想要学好QML,还需要一些细节技巧的掌握。本篇文章将为你提供完整的QML知识体系,让你成为Qt的UI魔法师! 阅读详情

一、get和post定义

form元素的method属性用来指定发送form的http方法;

使用get时,form数据集被附加到form元素的action属性所指定的URL后面;

使用post时,form数据集被包装在请求的body中并被发送。


使用get提交方式,生成URL:user.do?loginId=abc

get仅仅是拼接一个URL,然后直接向服务区请求数据,需要提交给服务器的数据集包含在URL中。

使用post提交方式,生成URL:user.do

post会把form的数据集,即loginId=abc这个键值对包装在请求的body中,发给服务器,然后向服务器请求数据。

二、get和Post的区别

1、安全性

如果用get提交一个验证用户名和密码的form,一般认为是不安全的,因为用户名和密码将出现在URL上,进而出现在浏览器的历史记录中。

显然,在对安全性有要求的情况下,应该使用post。

2、编码

get只能向服务器发送ASCII字符,而post则可以发送整个ISO 10646中的字符。

get和post对应的enctype属性有区别。enctype有两个值,默认值为application/x-www-form-urlencoded(在发送前编码所有字符)

另一个是multipart/form-data(用于文件上传)只能用于post。

3、提交数据的长度。

IE将请求的URL长度限制为2083个字符,从而限制了get提交的数据长度,如果URL超出了这个限制,提交form时IE不会有任何反映。

4、缓存

由于一个get得到的结果直接对应到一个URL,所以get的结果页面有可能被浏览器缓存,而post一般不能。

5、引用和SEO 
可以用一个URI引用一个get的结果页面,而post的结果则不能,所以必然不能被搜索引擎搜到。


最本质的区别:

1、Get是用来从服务器上获得数据,而post是用来向服务器上传递数据

如果采用Post方法,浏览器将会按照下面两步来发送数据。

首先浏览器将action属性中指定的表单处理服务器建立联系,一旦建立连接之后,浏览器就会按分段传输的方法将数据发送给服务器。

在服务器端,一旦Post样式的应用程序开始执行时,就应该从一个标志位置读取参数,而一旦读到参数,在应用程序能够使用这些表单值以前,必须对这些参数进行解码,用户特定的服务器会明确指定应用程序应该如何接受这些参数。

采用Get方法:

浏览器会直接与表单处理服务器建立连接,然后直接在一个传输步骤中发送所有的表单数据,然后直接在一个传输步骤中发送所有的表单数据。

2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。

三、正确的使用get和post 
当且仅当form是幂等的时候,使用get。 
幂等:多次相同的请求产生的副作用,和一次请求的副作用相同。 

如果提交请求纯粹只是从服务器端获取数据而不是进行其他操作,并且多次提交不会有明显的副作用,应该使用get。 
比如:搜索引擎的查询(http://www.google.com/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数据会出现警告。


post和get容易忽视的一点差别:

就是当method为get时,action属性中URL后面的参数是忽视的。

例如:

action=insert.jsp?name=tobby method=get,当我们提交之后真正的url中是没有name=tobby的,他会根据表单中的内容重新组装成一个url的,假如form中有一个文本框,<input type="text" name="address" value="wuhan">,那么url会变成insert.jsp?addresswuhan.

基于Zynq的便携式γ能谱仪设计与实现 数字多道分析器(DMCA)是核辐射能谱测量的核心设备,其本质是将探测器输出的模拟脉冲按幅度数字化分道,构建能量-计数分布曲线,从而支撑放射性核素识别与定量分析。其技术原理依赖高速采样、数字滤波成形、基线恢复与峰值提取等关键信号处理环节,具备高分辨率、优线性度与强抗干扰能力。在环境监测、核安全巡检与野外地质勘探等场景中,对低功耗、小型化、实时性提出严苛要求。本方案采用Xilinx Zynq-7020异构SoC架构,融合FPGA实时数字信号处理与ARM嵌入式控制,实现软硬协同优化,兼顾算法精度与工程落地性,为国 阅读详情

相关推荐

Arduino与震动马达模块握手

震动马达模块采用采用高品质手机震动马达,适用于震动感互动产品的制作,可穿戴智能设备震动提醒,适合作为非可听指示器的小型振动马达。当输入为高电平时电动机会震动,就像你的静音模式的手机一样。

vor234的博客 5782

HTML表单Form中的getpost方法:

<br />HTML表单Form中的getpost方法:<br /> get post form 在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的。<br /> <br /> <br />Form提供了两种数据传输的方式——getpost。虽然它们都是数据的提交方式,<br />但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响。虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一些差异,但是了解二者的差异在以后的编程也会很有帮助的。 <br />Form中的

回南山种豆的专栏 2141

FFmpeg 开发(01):FFmpeg 编译集成

尽管 FFmpeg 功能强大,但是由于其采用的是带有传染性的 LGPL/GPL 开源协议,所以一些大厂基本上都是自己独立开发类似的音视频处理库,甚至在接口组织模块上模仿 FFmpeg 。

字节流动 1万+

method=postmethod=get区别

<br />(一)简要分析:<br /> <br />1. get是从服务器上获取数据,post是向服务器传送数据。 <br />2. get是把参数数据队列加到提交表单ACTION属性所指的URL中,值表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 <br />3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于p

关于。某某。 1894

PHP学习(六) method="get" method="post"

何时使用 method="get"? 在 HTML 表单中使用 method="get" 时,所有的变量名值都会显示在 URL 中。 注释:所以在发送密码或其他敏感信息时,不应该使用这个方法! 然而,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。 注释:HTTP GET 方法不适合大型的变量值。它的值是不能超过 2000 个字符的。 何时使用 ...

我知道你很急,但是路要一步步走 3809

JAVA面试宝典6

Form表单method="post/get'的区别? 区分分为两部分: 1) 一、 在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,postget方法在使用上至少有两点不同:  1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。  2、Get方式的提交你需要用Request.QueryStrin

AinUser的博客 1165

Form表单methodgetpost区别

序,form表单中的方法分为getpost,但你都知道他们之间的区别吗? Form表单methodgetpost区别: 例子如下,有个Form表单。 <form action="getPostServlet/getPost.do?param4=param4" method="get"> <input type="hidden" na...

461

Form表单method=postget区别

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34121304的博客 916

getpost区别/form表单属性actionmethod/CSS使用方法常见选择器

get是可以提交到地址栏上 http://"http://ip地址货域名/登录的接口login?某一边没有设置颜色/宽度/样式,会补齐对边的颜色/宽度/样式。uri:url的一部分"/项目名称/登录接口"(没有明确协议),后者范围大。http://域名:端口号/项目名称/登录接口,前置范围小。选择器1 > 选择器2{ //选择器2所在的标签是选择器1选中标签的子标签。有简写属性格式(将四个边的颜色/宽度样式进行简写,)form action="http://ip地址货域名/登录的接口"

z1512101339的博客 1458

表单formmethod属性值 ——getpost区别

表单formmethod属性值 ——getpost区别 1. 数据传输方向 get是从服务器上获取数据,而post是用来向服务器上传输数据 2. 安全性 get提交验证的用户名密码,是不安全的,因为提交的数据将会以明码的方式出现在url参数中,可以在浏览器记录中查看,而post则并没有显性的提交在URL中。 3. 提交数据长度 get提交的数据长度较短,最大限制为2kb(HTTP sp...

weixin_45632928的博客 4158

[HTML]表单formmethod属性get/post区别

一、问题的提出    action="getPostServlet/getPost.do?param4=param4" method="get">                      button1" value="submit"> 注意到表单actiongetPostServlet/getPost.do?param4=param4 这个action带有一个参数pa

solo_Insomnia的专栏 3425

Form表单methodgetpost的编码区别

form表单中提交数据到jsp,jsp中存放到数据库后里面的中文变成了???乱码。 一开始觉得是编码问题,取到了提交后的数据没乱码,就觉得是数据库的编码问题,可能不一致,想设置成utf-8排序规则看看有没有问题,由于数据库是sql server,没有了解过,应该是Chinese_PRC_CI_AS就行,但还是不行。 最后解决了,是form表单的提交方式有问题,代码写的是get,下面是get与p

Everor 518

Form表单method属性的两种提交方式GetPost区别

Mothod属性是控制表单的提交方式的。 表单提交方式有两种:post方式的提交,get方式提交(默认的方式)。 两者的区别: 1.get方式的提交,表单元素对应的值会以?key=value&key=value的方式显示在地址栏里面。Post方式不会。Post要相对安全一些。 2.因为get方式要把数据显示在地址栏里面,所以他可以传递的数据量是有限制的。Post的大小是没有限制的。 3....

Java开发,人工智能,边缘计算,致力于掌握前沿技术 1万+

form表单method属性是干嘛的

form表单method属性是干嘛的

m0_68469601的博客 1826

Form表单提交方法method

method="get",表单在提交时,填写在表单中的数据会action="url"中的url编码在一起。 method="post",表单在提交时,填写在表单中的数据将在底层发送到action="url"中的url去。 两者的区别在于,method="get"时,数据传输是可见的;method="post"时,数据传输是不可见的。 notes的代理一般用的post方法,在domin

ccaakkee的专栏 1万+

Form当中methodpostget区别?

3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。是通过HTTP post机制,将表单内各个字段与其内容放置在HTMLHEADER内一起传送到ACTION属性所指的URL地址。2. get是把参数数据队列加到提交表单ACTION属性所指的URL中,值表单内各个字段一一对应,在URL中可以看到。post传送的数据量较大,一般被默认为不受限制。1.get是从服务器上获取数据,post是向服务器传送数据。

Odyssey_kd的博客 508

method="get/post",两种方式的区别

Form中的getpost方法,在数据传输过程中分别对应了GETPOST方法。 二者主要区别如下: 1、Get表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量值相对应的方式,传递到action所指向URL。 如下形式:      h

我的技术总结 1万+

关于vue的学习(七)

一.vue_axios 1.vue_axios基本使用 特点 支持客户端发送Ajax请求 支持服务端Node.js发送请求 支持Promise相关用法 支持请求响应的拦截器功能 自动转换JSON数据 axios 底层还是原生js实现, 内部通过Promise封装的 axios的基本使用 axios({ method: '请求方式', // get post url: '请求地址', data: { // 拼接到请求体的参数...

qq994849611的博客 586

form表单中的actionmethod使用方法

<form action="www.baidu.com" method="post"> form表单    里面的内容是要提交出去的。 action 是链接    action可以理解成url,也就是当你内容填好以后点了提交按钮提交出去后转向的页面,点击浏览选择提交位置。 method 是方法    method是方法,有getpost两种,各有所长。就是内容填好后提交需要一个方法,是获取你的内容还是传递你的内容。 ...

kk651的博客 1万+

TA-Lib-0.4.32-cp313-cp313-win-amd64.whl

TA-Lib-0.4.32-cp313-cp313-win-amd64.whl

中国1950-2023年自然灾害全国受灾面积数据.zip

背景说明数据集规模较小,仅包含中国 1950-2023 年几种常见的自然灾害全国受灾面积数据。数据说明数据集包含如下字段:年份受灾面积(千公顷)水灾受灾面积(千公顷)旱灾受灾面积(千公顷)风雹灾受灾面积(千公顷)冷冻灾受灾面积(千公顷)成灾面积(千公顷)水灾成灾面积(千公顷)旱灾成灾面积(千公顷)风雹灾成灾面积(千公顷)冷冻灾成灾面积(千公顷)数据集存在较多缺失值。其中,2023 年的部分数据疑似尚未有统计结果;1967-1969 年间由于众所周知的原因所有数据全都缺失了。此外部分数据值在 1970-1977 年间存在数据缺失的情况。数据来源数据来自 国家数据网站 年度数据。问题描述数据集应用范围比较广泛,主要可以应用于与农业宏观统计有关的数据分析问题。

上一篇: 浅析a标签的4个伪类
下一篇: 有关input标签的详解
cui_angel
博客等级 码龄14年 140粉丝 26原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值