URL传值和form表单提交的区别和原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了URL传值和form表单提交的区别和原理相关的知识,希望对你有一定的参考价值。

url传值就是get ,from表单就是post
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安全性较高。

HTTP请求:GET与POST方法的区别

HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和
POST。事实上 GET 适用于多数请求,而保留 POST 仅用于更新站点。根据 HTTP 规范,GET 用于信息获取,而且应该是
安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。幂等的意味着对同一 URL
的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。
比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。POST
请求就不那么轻松了。POST 表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过 POST
请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解);

在FORM提交的时候,如果不指定Method,则默认为GET请求,Form中提交的数据将会附加在url之后,以?分开与url分开。字母数字字符原
样发送,但空格转换为“+“号,其它符号转换为%XX,其中XX为该符号以16进制表示的ASCII(或ISO
Latin-1)值。GET请求请提交的数据放置在HTTP请求协议头中,而POST提交的数据则放在实体数据中;GET方式提交的数据最多只能有1024字节,而POST则没有此限制。

在表单里使用”post”和”get”有什么区别

在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两点不同:

1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。

2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交时,你必须通过Request.Form来访问提交的内容。
参考技术A

    区别:

    url传值就是get ,from表单就是post。

    原理:

    (1)get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。

    (2)post是通过HTTP将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

get安全性非常低,post安全性较高。对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。事实上 GET 适用于多数请求,而保留 POST 仅用于更新站点。根据 HTTP 规范,GET 用于信息获取,而且应该是安全的和幂等的。

html中post必须要用form表单,而get就可以不用form表单就可以提交了吗?

当然不是的,post可以使用表单提交数据也可以使用ajax提交数据,get方法也是一样的,只不过get方法是通过url传值,可以在url后面直接加参数实现get方法提交数据的。

工具原料:编辑器、浏览器

1、get或者post都是可以通过form表单提交数据的,代码如下

<form action="form_action.asp" method="get">
  <p>First name: <input type="text" name="fname" /></p>
  <p>Last name: <input type="text" name="lname" /></p>
  <input type="submit" value="Submit" />
</form>

以上的method属性就是可以填写get或者post方法

2、get或者post也都是可以通过ajax提交的,代码如下:

$.ajax(
type:"get",
url:"",
async:true
);

ajax中的type可以自定义get或者post方法进行传值。

参考技术A

当然不是,post可以使用表单提交数据,也可以使用Ajax提交数据,get方法是一样的,只是get方法是通过URL值传递的,可以直接在URL后添加参数来获取提交数据的方法。

    超文本标记语言(HTML)的结构包括 “头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的 具体内容。

    超级文本标记语言是 标准通用标记语言下的一个应用,也是一种规范,一种准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉 浏览器如何显示其中的内容。

    主要特点如下:

    1、简易性:超级文本标记语言 版本升级采用 超集方式,从而更加灵活方便。

    2、可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加 标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。

    3、平台无关性:虽然 个人计算机大行其道,但使用 MAC等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是 万维网( WWW)盛行的另一个原因。

    4、通用性:另外, HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。

参考技术B 可以的
form的提交方式分为post和get,这两者的区别总结如下:

Post:把数据通过表单提交过去,action中如果带有参数也能在处理页面通过request.get取得action后的参数值,通过request.form取得表单中的值

Get:把表单中的数据放到浏览器链接中一并传递过去,如果之前在action中已经加有参数,则参数被替换为表单中的数据,原参数清除.
参考技术C 传统意义上讲:是的
但由于ajax和jquery的出现,post和get都可以不一定要写form了
用jquery的$.get(),$.post() 就可以本回答被提问者和网友采纳
参考技术D html里边,get获取的值可以放到 url地址后边的参数

以上是关于URL传值和form表单提交的区别和原理的主要内容,如果未能解决你的问题,请参考以下文章

From表单中的传值有那几种方法?

java web 的表单提交与传值

html中post必须要用form表单,而get就可以不用form表单就可以提交了吗?

ajax传递数组form表单提交对象数组

post 和 get 方式提交数据的区别

post和get传值的区别