一、静态页面代码
method提供了四种常用的提交方式分别是get、post、delete、put,它的语法(method="提交方式")。
今天分享的是get和post在node中的提交有什么不同,以及提交流程
一、get方式提交
1、get方式提交method属性一般可以省略。以下是它的基本代码。
<form action="/loginPost.do" method="get">
<h1>post提交</h1>
<label for="username1">用户名</label>
<input type="text" name="user1" id="username1">
<label for="userword1">密码</label>
<input type="password" name="pwd1" id="userword1">
<button>提交</button>
</form>
2、用户点击提交按钮后服务器会拦截该请求并判断用户名和密码是否正确,如果正确则登陆成功,否则登陆失败。
//服务器内部拿到输入框的值的方法
let user=req.query.username//获取用户名
let pwd=req.query.userword//获取密码
二、post方式提交
1、post方法提交表单method不可以省略,省略后可能会提交失败。
<form action="/loginPost.do" method="post">
<h1>post提交</h1>
<label for="username1">用户名</label>
<input type="text" name="user1" id="username1">
<label for="userword1">密码</label>
<input type="password" name="pwd1" id="userword1">
<button>提交</button>
</form>
2、post提交不能直接提交后拦截,必须安装配置文件
3、post方式提交需要安装模块
安装模块命令: npm i body-parser --save
4、服务器配置相应文件
配置相应文件后才能进行拦截,否则可能拦截失败。而get方式提交就不需要配置
//post提交方式引入
const bodyParser = require('body-parser');
//post拦截
app.use(bodyParser.urlencoded({
extended:false
}))
5、在服务器内部获取到输入框的值后,连接服务器查看用户名和密码是否正确。
//链接数据库查看用户名密码是否正确
//post方式提交拿到输入框值的方法
let user=req.body.user1;
let pwd=|req.body.pwd1;
三、post提交和get提交的不同
GET 和 POST 是 HTTP 请求中最常用的两种请求方法,它们的底层都是基于 TCP/IP 实现的。但是由于 HTTP 的规定以及浏览器/服务器的限制,导致它们在应用过程中可能会有所不同
1.数据传输方式不同
GET方法的数据传输是通过URL传递的,而POST方法的数据传输是通过HTTP请求体传递的。
2.数据大小限制不同
GET方法将数据附加到URL中,因此数据大小有限制。在URL中,只能传递ASCII字符,并且URL的长度有限制
3.安全性不同
GET方法的参数是通过URL传递的,因此可以很容易地在浏览器地址栏中看到。如果参数包含敏感信息,例如用户名和密码等,这将是一个安全风险。因此,GET方法不适合传递敏感数据。
4.缓存机制不同
GET方法具有缓存机制。如果浏览器请求的资源已经在本地缓存中存在,浏览器将使用缓存而不是向服务器发送请求。这可以提高Web应用程序的性能。但是,如果应用程序的数据频繁变化,使用GET方法可能会导致浏览器缓存过期,从而影响性能。
5.幂等性不同
在计算机科学中,幂等性是指对同一操作执行多次所产生的影响是相同的。在HTTP协议中,GET方法是幂等的,也就是说对同一URL执行多次GET请求,服务器的响应是相同的。因为GET方法只用于获取资源,不对服务器端的资源做任何改变。