官术网_书友最值得收藏!

HTTP Servers and Clients

Now that you've learned about Node.js modules, it's time to put this knowledge to use by building a simple Node.js web application. The goal of this book is to learn about web application development with Node.js. The next step in that journey is getting a basic understanding of the HTTPServer and HTTPClient objects. To do that, we'll create a simple application that will enable us to explore a popular application framework for Node.js—Express. In later chapters, we'll do more complex work on the application, but before we can walk, we must learn to crawl.

The goal of this chapter is to start to understand how to create applications on the Node.js platform. We'll create a handful of small applications, which means we'll be writing code and talking about what it does. Beyond learning about some specific technologies, we want to get comfortable with the process of initializing a work directory, creating the Node.js code for an application, installing dependencies required by the application, and running/testing the application.

The Node.js runtime includes objects such as EventEmitter, HTTPServer, and HTTPClient, which provide a foundation on which we can build applications. Even if we rarely use these objects directly, it is useful to understand how they work, and in this chapter, we will cover a couple of exercises using these specific objects.

We'll first build a simple application directly using the HTTPServer object. Then, we'll move on to using Express to create an application for computing Fibonacci numbers. Because this can be computationally expensive, we'll use this to explore why it's important to not block the event queue in Node.js and what happens to applications that do. This will give us an excuse to develop a simple background Representational State Transfer (REST) server, an HTTP client for making requests on that server, and the implementation of a multi-tier web application.

In today's world, the microservice application architecture implements background REST servers, which is what we'll do in this chapter.

We will cover the following topics in this chapter:

  • Sending and receiving events using the EventEmitter pattern
  • Understanding an HTTP server application by building a simple application
  • Web application frameworks
  • Using the Express framework to build a simple application
  • Handling computationally intensive calculations in an Express application and the Node.js event loop
  • Making HTTP Client requests
  • Creating a simple REST service with Express

By going through these topics, you'll gain an understanding of several aspects of designing HTTP-based web services. The goal is for you to understand how to create or consume an HTTP service and to get an introduction to the Express framework. By the end of this chapter, you'll have a basic understanding of these two tools.

That's a lot to cover, and it will give us a good foundation for the rest of this book.

主站蜘蛛池模板: 江门市| 冕宁县| 沂水县| 盐山县| 保德县| 晋中市| 延吉市| 泰和县| 曲靖市| 普格县| 沾化县| 闸北区| 色达县| 新郑市| 吴江市| 宝坻区| 凯里市| 蓝山县| 方正县| 通海县| 大厂| 越西县| 孝义市| 合阳县| 固镇县| 探索| 吉隆县| 方山县| 玉林市| 武清区| 潮州市| 辽源市| 宝兴县| 且末县| 安达市| 隆林| 洛宁县| 西昌市| 杂多县| 依兰县| 兴城市|