Chapter 13

Making HTTP Requests


  • Making GET requests to an HTTP server
  • Using various HTTP verbs on HTTP requests
  • Inspecting request response status and headers
  • Using the third-party request module

HTTP has become a central part of the infrastructure of many private and public services on the Internet. Not only used to serve static content, HTTP has become the preferred way of serving and consuming public-facing API calls.

Because it is good at handling I/O, Node is a good fit not only for providing but also for using these HTTP services. In the following sections you will learn to perform and control HTTP requests using the core http module and a useful third-party request module.

In the HTTP protocol, the request has two important properties: the URL and the method. The most common method used is the GET method, which is mainly used to request content, but other methods exist like POST (mainly used for submitting web forms), PUT, DELETE, and HEAD. Each one gets different results from the server.


This example uses http.get to make an HTTP GET request to the URL

var http = require('http');
var options = {
  host: "",
  port: 80,
  path: "/index.html"
http.get(options, function(res) {
  console.log('Got response:' + res.statusCode);

Here you are specifying that you want to perform a GET request to the hostname and path /index.html, using TCP port 80. The callback is invoked when ...

Get Professional Node.js: Building Javascript Based Scalable Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.