1 const http = require('http'); 2 3 let server = http.createServer((req, res)=>{ 4 res.end('hello, world!'); 5 }); 6 7 server.listen(3000, '127.0.0.1', ()=>{ 8 console.log('服务器已经启动!'); 9 // 5秒后关闭服务器10 setTimeout(()=>{11 // server.close();12 }, 5000);13 });14 15 // 监听服务器的关闭16 server.on('close', ()=>{17 console.log('服务器已经关闭!');18 });19 20 // 监听服务器发生错误21 server.on('error', (e)=>{22 if(e.code === 'EADDRINUSE'){23 console.log('端口号被调用!');24 }else {25 console.log('其它的错误', e.code);26 }27 });28 29 // 设置超时时间30 server.setTimeout(1000, ()=>{31 console.log('设置超时时间为1s');32 });33 34 server.on('timeout', ()=>{35 // 超时要做什么操作36 console.log('连接已经超时');37 });
1 let http = require('http'); 2 let fs = require('fs'); 3 let path = require('path'); 4 5 http.createServer((req, res)=>{ 6 console.log(path.join(__dirname, 'request.log')); 7 console.log(req); 8 // 输出request.log文件 9 let out = fs.createWriteStream(path.join(__dirname, 'request.log'));10 out.write('1) method:' + req.method + '\n');11 out.write('2) url:' + req.url + '\n');12 out.write('3) headers:' + JSON.stringify(req.headers) + '\n');13 out.write('4) httpVersion:' + req.httpVersion + '\n');14 }).listen(8080, '127.0.0.1');
1 1) method:GET2 2) url:/3 3) headers:{"host":"localhost:8080","connection":"keep-alive","cache-control":"max-age=0", "upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*; q=0.8,application/signed-exchange;v=b3","accept-encoding":"gzip, deflate, br","accept-language":"zh-CN,zh;q=0.9,en;q=0.8,lb; q=0.7","cookie":"_nano_fp=XpdYn5CjX0UJnpTJXC_ALVUQMlgQwrkHd5Az6sJb"}4 4) httpVersion:1.1
1 // 方式1 2 3 const url = require('url'); 4 // 把字符串转成URL对象 5 const myURL = url.parse( 'https://user:pass@sub.itLike.com:8080/p/a/t/h?query=string#hash'); 6 console.log(myURL); 7 8 9 const myURL = new URL('https://user:pass@sub.itLike.com:8080/p/a/t/h?query=string#hash');10 console.log(myURL);
1 URL { 2 href: 3 'https://user:pass@sub.itlike.com:8080/p/a/t/h?query=string#hash', 4 origin: 'https://sub.itlike.com:8080', 5 protocol: 'https:', 6 username: 'user', 7 password: 'pass', 8 host: 'sub.itlike.com:8080', 9 hostname: 'sub.itlike.com',10 port: '8080',11 pathname: '/p/a/t/h',12 search: '?query=string',13 searchParams: URLSearchParams { 'query' => 'string' },14 hash: '#hash' 15 }
1 const http = require('http'); 2 3 http.createServer((req, res)=>{ 4 console.log(res.headersSent ? '响应头已经发送' : '响应头未发送'); 5 // 设置隐式响应头 6 res.setHeader('Content-Type', 'text/html;charset=utf-8'); 7 res.writeHead(200, 'ok'); 8 res.write('Hello, ItLike
'); 9 res.write('Hello, ItLike
');10 res.write('Hello, ItLike
');11 res.write('Hello, ItLike
');12 // 本次响应结束13 res.end('撩课学院
');14 console.log(res.headersSent ? '响应头已经发送' : '响应头未发送');15 }).listen(3000, '127.0.0.1', ()=>{16 console.log('服务器已经启动~')17 });