html中get和post的区别和使用

html中get和post的区别和使用,第1张

一、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

<!-- method代表接受方式 post/get

form action 属性规定当提交表单时,向何处发送表单数据。 -->

<form action="#" method="post"/>

<!--label复选框的光标方便用户选中,可加可不加。 -->

<label for="user">名字:</label><input type = "text" id="user" name="user" size="15" value="请写上你的用户名" maxlength="15"/></br>

<label for="title">标题:</label><input type = "text" id="title" name="title" size="25" value="请输入标题" maxlength="25"/></br>

<label for="content">内容:</label></br><textarea id="content" name="content" rows="9" cols="35" value="please" wrap="off"/></textarea></br>

<input type="submit" id="submit" name="submit" value="发布" />

<input type="submit" value="提交" style="width:80pxheight:100pxcolor:redbackground-color:#3FF">

type:只有当type的设置等于submit时,按钮才有提交的作用

Value:按钮上显示的文字

color:本来就只针对文本而言有作用。

要改变背景色要用:background:#ccc

先给答案,首先,2个纯粹的html无法互相post数据,必须要有web服务器,但可以通过get传递数据

页面提交数据一般有两种方法:get,post。post就是所谓的form提交,使用视图;get是通过url提交。

post的值是不可能从html到hmtl的,中间必须经过Server.

原因:post的值是附加在http请求的头部的,它不会出现在URL请求串里,所以用js来获取查询参数的方式来获取post

请求参数是不行的.post方式只有在服务器端才能获得表单提交的值。

方案一:

请跳转到服务器端,由服务器获得得post的值,再(以url或在request里面赋值的方式)跳到指定的页面。

方案二:

改用Get方式,通过URL传值,将原来的post方法改为get方式后,请求的参数会出现在地址栏,并且表示里的submit

组件值也会出现在URL里。

如2.html?aa=1

然后通过js获得得变量aa的值

//获取指定参数名的参数值  

        function getQueryParameter(qs)  

        {  

            var s = location.href  

            alert(s)  

            s = s.replace("?","?&").split("&")//这样可以保证第一个参数也能分出来  

            alert(s)  

            var re = ""  

            for(i=1i<s.lengthi++)  

                if(s[i].indexOf(qs+"=")==0)  

                    re = s[i].replace(qs+"=","")//取代前面的参数名,只剩下参数值  

                      

            return re  

        }

为了防止你搞不明白,我帮你写了2个代码如下:

<!-- a.html -->

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

    <form action="b.html" method="get">

        <input type="text" name="user" value="admin">

        <input type="text" name="pwd" value="1234">

        <input type="submit" value="提交">

    </form>

</body>

</html> <!-- b.html -->

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

<script>

    //获取指定参数名的参数值  

        function getQueryParameter(qs)  

        {  

            var s = location.href               

            s = s.replace("?","?&").split("&")//这样可以保证第一个参数也能分出来 

            var re = ""  

            for(i=1i<s.lengthi++)  

                if(s[i].indexOf(qs+"=")==0)  

                    re = s[i].replace(qs+"=","")//取代前面的参数名,只剩下参数值  

                      

            return re  

        }  

        var user = getQueryParameter('user')//获取user

        var pwd = getQueryParameter('pwd')//获取pwd

        

        alert('你传入的user是:'+user)

        alert('你传入的pwd是:'+pwd)

</script>

</body>

</html>

ps:实例中的代码参考来源 http://nopainnogain.iteye.com/blog/799299


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6219028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-18
下一篇 2023-03-18

发表评论

登录后才能评论

评论列表(0条)

保存