req
- это объект, содержащий информацию о HTTP-запросе, вызвавшем событие. В ответ на req
вы используете res
для отправки желаемого ответа HTTP.
Эти параметры могут быть названы как угодно. Вы можете изменить этот код на этот, если он более понятен:
app.get('/user/:id', function(request, response){
response.send('user ' + request.params.id);
});
Edit:
Скажем, у вас есть этот метод:
app.get('/people.json', function(request, response) { });
Запросом будет объект с такими свойствами (вот лишь некоторые из них):
request.url
, что будет "/people.json"
, когда будет выполнено это конкретное действие
request.method
, что в данном случае будет "GET"
, следовательно, вызов app.get()
.
- Массив заголовков HTTP в
request.headers
, содержащий такие элементы, как request.headers.accept
, которые вы можете использовать, чтобы определить, какой браузер сделал запрос, какие ответы он может обработать, способен ли он понимать HTTP сжатие и т. д.
- Массив параметров строки запроса, если они есть, в
request.query
(например, /people.json?foo=bar
приведет к request.query.foo
, содержащему строку "bar"
).
Чтобы ответить на этот запрос, вы используете объект ответа для построения своего ответа. Чтобы развернуть пример people.json
:
app.get('/people.json', function(request, response) {
// We want to set the content-type header so that the browser understands
// the content of the response.
response.contentType('application/json');
// Normally, the data is fetched from a database, but we can cheat:
var people = [
{ name: 'Dave', location: 'Atlanta' },
{ name: 'Santa Claus', location: 'North Pole' },
{ name: 'Man in the Moon', location: 'The Moon' }
];
// Since the request is for a JSON representation of the people, we
// should JSON serialize them. The built-in JSON.stringify() function
// does that.
var peopleJSON = JSON.stringify(people);
// Now, we can use the response object's send method to push that string
// of people JSON back to the browser in response to this request:
response.send(peopleJSON);
});