正规描述 :
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安全性较高。但是执行效率却比Post方法好。
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
get 以”?”的形式传递参数 可见 不安全
post 以 “属性名=”的形式传递 不可见 安全
在cocos creator(客户端)中写法 :
cc.log("发送")
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {
var response = xhr.responseText;
console.log(response);
}
};
xhr.open("POST", "http://127.0.0.1:8081/", true);
xhr.send("id=1&msg="+"内容");
服务端代码 :
返回数据 : response.end(message)
var http = require("http")
const url = require('url');
const qs = require('querystring');
var msgtotal = ""
http.createServer(function (request, response) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.writeHead(200, {'Content-Type': 'text/plain'});
request.setEncoding('utf-8');
var postData = "";
request.addListener("data", function (postDataChunk) {
postData += postDataChunk;
});
request.addListener("end", function () {
console.log('load data finish');
var params = qs.parse(postData);
console.log(params.id,params.msg);
if(params.id == "1"){
msgtotal += params.msg + "\n"
}
else {
response.end(msgtotal)
}
})
}).listen(8081);
console.log('Server running at http://127.0.0.1:8081/');