Javascript 如何仅使用带节点的http侦听GET请求?没有快车

Javascript 如何仅使用带节点的http侦听GET请求?没有快车,javascript,node.js,Javascript,Node.js,我想知道如何只使用“require http”而不是of express来侦听http get请求 这就是我现在拥有的: let http = require('http'); let server = http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello, World!\n'); }); server.listen(84

我想知道如何只使用“require http”而不是of express来侦听http get请求

这就是我现在拥有的:

let http = require('http');
let server = http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello, World!\n');
});
server.listen(8443);
console.log('Server running on port 8443');

我想监听get请求,并记录url。如果有任何其他请求需要打印(“错误请求”)。

您需要检查使用的方法,如果不是
GET
,则发送另一个响应

'use strict'
let http = require('http');
let server = http.createServer(function (req, res) {
  if( req.method === 'GET' ) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello, World!\n');
  } else {
    res.writeHead(405, {'Content-Type': 'text/plain'});
    res.end('Method Not Allowed\n');
  }
});
server.listen(8443);
console.log('Server running on port 8443');

您需要检查使用的方法,如果不是
GET
,则发送另一个响应

'use strict'
let http = require('http');
let server = http.createServer(function (req, res) {
  if( req.method === 'GET' ) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello, World!\n');
  } else {
    res.writeHead(405, {'Content-Type': 'text/plain'});
    res.end('Method Not Allowed\n');
  }
});
server.listen(8443);
console.log('Server running on port 8443');

然后,您需要检查所使用的方法,如果不是
GET
,则发送另一个响应。仅供参考。您将向带有无效参数的有效url发送一个
400错误请求。你应该改为发送404。你能给我一个如何使用http:message.method的小例子吗?@manonthemat如果资源存在并且只支持
GET
,并且你用另一种方法发送请求,例如,
POST
,那么服务器应该返回
405 method Not Allowed
@t.niese true,很好。然后您需要检查使用了什么方法,如果不是
GET
,请发送另一个响应。仅供参考。您将向带有无效参数的有效url发送一个
400错误请求。你应该改为发送404。你能给我一个如何使用http:message.method的小例子吗?@manonthemat如果资源存在并且只支持
GET
,并且你用另一种方法发送请求,例如,
POST
,那么服务器应该返回
405 method Not Allowed
@t.niese true,说得好。投票否决答案的人,至少能解释一下原因吗?我同意@t.niese的观点——这个问题既清晰又真实。在这里,否决票似乎是无效的。否决答案的人能否至少解释一下原因?我同意@t.niese的观点——这个问题既清晰又真实。否决票在这里似乎无效。