nodejs24,25

参数request对象—–http.IncomingMessage

-httpVersion:使用的http协议的版本.
-headers:请求头信息中的数据
-url:请求的地址
-method:请求方式

参数response对象——–http.ServerR####esponse

-write(chunk,[encoding]):发送一个数据块到响应正文中.
-end(chunk,[encoding]):当所有正文和头信息发送完成以后,调用该方法,告诉服务器数据已经全部发送完成了,这个方法每次完成信息发送都要调用,并且是最后调用.
-statusCode:该属性用来设置返回的状态码,
-setHeader(name,value)设置返回头信息
-writeHead(statusCode,[reasonPhrase],[headers])——这个方法只能在当前请求中使用一次.且必须在response.end()之前调用.

server.timeout默认时间是2分钟.


/*
* 搭建一个http请求,来处理用户发送的http请求.*/

var http = require("http");

var server = http.createServer();

//server.listen();
//console.log(server.address());
/*一个端口只能被一个应用程序监听.
* server.listen(port,[hostname],[backlog],[callback])
* 监听客户端连接请求,只有调用了listen方法以后,服务器才开始工作.
* -port,监听的端口
* -hostname主机名,(IP/域名)
* -backlog:连接等待队列的最大长度.
* -callback:调用listen方法并且成功监听以后,会触发一个listening事件,
* callback将作为该事件的执行函数*/



/*运行成功之后,监听成功.55686是node自动为服务器分配的端口号,当刷新以后
端口又会自动变化.
{ address: '::', family: 'IPv6', port: 55686 }
阿帕奇服务器  已经监听了80端口
监听所有的网卡,无线网卡.
*/

server.on("err",function(){
    console.log(err);
});



server.on("listening",function(){
     console.log("listening......")
 });

server.on('request', function(req, res) {
    console.log('有客户端请求了');

    //console.log(req);一个很大很大的对象.

    res.setHeader("perfect","pure");

    /*写入头信息*/

    res.writeHead(200,"happy",{
        "content-type":"text/html;charset=utf-8"
    });

    res.write("<h1>hello</h1>");

    res.end();

});

server.listen(8083,"localhost");
/*{ address: '::', family: 'IPv6', port: 55908 }
    listening......
    listening. ....

    server也为我们提供了一个方法,request事件:
    当有客户端用户发送http请求到这台主机服务器的这个端口的时候,该事件触发.
*参数request:http.incomingmessage的一个实例,通过它
    可以知道此次请求的头信息,数据信息
*参数response:http.Server.Response的一个实例,通过他我们可以向该次请求的客户端
    发送响应的一些数据信息,等等!
*server.listen(),监听了node自动位服务器分配的端口,
    所以后续再想监听别的端口是没有效果的了.    */


/*在浏览器端输入地址:localhost,端口:8080.*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值