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

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.

主站蜘蛛池模板: 浠水县| 温泉县| 邹城市| 育儿| 阿拉善左旗| 敦化市| 安远县| 齐河县| 潜山县| 扎鲁特旗| 包头市| 阳信县| 临桂县| 南漳县| 南江县| 绵阳市| 定兴县| 鄢陵县| 景谷| 沈丘县| 庆安县| 新津县| 英吉沙县| 樟树市| 绥德县| 贵州省| 泰顺县| 永嘉县| 桃江县| 兴义市| 万源市| 理塘县| 江孜县| 红安县| 安康市| 德兴市| 涿鹿县| 温泉县| 永德县| 南召县| 株洲市|