最原生Web Server

    1. const http = require('http');
    2. const server = http.createServer((req, res) => {
    3. const url = req.url,
    4. method = req.method;
    5. if(url === '/'){
    6. req.setHeader('Content-Type', 'text/html');
    7. res.write('<html>');
    8. res.write('<header><title>请输入你的内容</title></header>');
    9. res.write('<body><form action="/message" method="POST"><input type="text" name="message" /><button="submit">发送</button></form></body>');
    10. res.write('</html>');
    11. return res.end();
    12. }
    13. if(url === '/message' && method === 'POST'){
    14. const body = [];
    15. req.on('data', (chunk) => {
    16. body.push(chunk);
    17. });
    18. req.on('end', () => {
    19. const parsedBody = Buffer.concat(body).toString(),
    20. message = parsedBody.split('=')[1];
    21. fs.writeFileSync('msg.txt', message);
    22. });
    23. res.statusCode = 302;
    24. res.setHeader('Location', '/');
    25. return res.end();
    26. }
    27. req.setHeader('Content-Type', 'text/html');
    28. res.write('<html>');
    29. res.write('<header><title>我的页面</title></header>');
    30. res.write('<body><h1>你好, NodeJS!</h1></body>');
    31. res.write('</html>');
    32. res.end();
    33. });
    34. server.listen(3000);
    • req.url
    • req.method
    • req.headers