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

首先获取http,并创建一个web服务,监听本地端口1337,这个可以修改,任何未被占用的端口都可以用,并坚挺data事件和end事件,整个文件保存为app.js

写一个html5网页,这个网页中的内容如下面所示,目标是获取这个表单中的name 和age数据,action是服务器地址和端口,文件名index.html

可以用浏览器来打开这个端口,如下图中所示,对浏览器无要求,基本上常用的浏览器都可以打开

在命令行中运行服务,node app.js,然后在第三步中的html页面上点击提交按钮。这时命令行中的显示如下,这样就得到了表单中post的数据,完成了html中数据从前端到后台的过程

同时 网页跳到如下所示

下面这里贴上测试代码

////////////////app.js///////

var http = require('http')

var server = http.createServer(function(req,res){

if(req.url!=="/favicon.ico"){

req.on('data',function(data){

console.log("服务器接收到的数据: "+decodeURIComponent(data))

})

req.on("end",function(){

console.log('客户端请求数据全部接收完毕')

})

}

res.end()

}).listen(1337,"localhost",function(){

console.log("listened")

})

////////////////index.html///////

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Nodejs的data事件与end事件的回调函数测试用页面</title>

</head>

<body>

<form id= "form1" action = "http://localhost:1337/" method = "post">

姓名:<input type = 'text' name = "name" value ="dragon"><br/>

年龄:<input type = "number" name = "age" value ="25">

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

</form>

</body>

</html>


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存