diff --git a/docs/books/web_services/02-web-servers-intro.md b/docs/books/web_services/02-web-servers-intro.md
index e7ae6a950b..99a5ac787b 100644
--- a/docs/books/web_services/02-web-servers-intro.md
+++ b/docs/books/web_services/02-web-servers-intro.md
@@ -10,27 +10,27 @@ title: Part 2. Web Servers Introduction
**HTTP** (**H**yper**T**ext **T**ransfer **P**rotocol) has been the most widely used protocol on the Internet since 1990.
-This protocol enables the transfer of files (mainly in HTML format, but also in CSS, JS, AVI...) localized by a character string called **URL** between a browser (the client) and a Web server (called `httpd` on UNIX machines).
+This protocol enables the transfer of files (mainly in HTML format but also in CSS, JS, AVI, etc.) localized by a character string called **URL** between a browser (the client) and a Web server (called `httpd` on UNIX machines).
HTTP is a "request-response" protocol operating on top of **TCP** (**T**ransmission **C**ontrol **P**rotocol).
1. The client opens a TCP connection to the server and sends a request.
2. The server analyzes the request and responds according to its configuration.
-The HTTP protocol is "**STATELESS**": it does not retain any information about the client's state from one request to the next. Dynamic languages such as php, python, or java store client session information in memory (as on an e-commerce site, for example).
+The HTTP protocol is "**STATELESS**": it does not retain any information about the client's state from one request to the next. Dynamic languages such as PHP, Python, or Java store client session information in memory (as on an e-commerce site).
-The current HTTP protocols are version 1.1, used widely, and versions 2 and 3 which are gaining adoption.
+The current HTTP protocols are version 1.1, which is widely used, and versions 2 and 3, which are gaining adoption.
An HTTP response is a set of lines sent to the browser by the server. It includes:
-* A **status line**: this specifies the protocol version used and the processing status of the request, using a code and explanatory text. The line comprises three elements separated with a space:
+* A **status line**: specifies the protocol version and the request's processing status using a code and explanatory text. The line comprises three elements separated by a space:
* The protocol version used
* The status code
* The meaning of the code
-* **Response header fields**: these are a set of optional lines providing additional information about the response and/or the server. Each of these lines consists of a name qualifying the header type, followed by a colon (:) and the header value.
+* **Response header fields**: these optional lines provide additional information about the response and/or the server. Each line consists of a name qualifying the header type, followed by a colon (:) and the header value.
-* **The response body**: this contains the requested document.
+* **The response body**: contains the requested document.
Here is an example of an HTTP response:
@@ -54,7 +54,7 @@ content-length: 154696
!!! NOTE
- Learning the `curl` command usage will be very helpfull for you to troubleshoot your servers in the future.
+ Learning how to use the `curl` command will be very helpful for troubleshooting your servers in the future.
The role of the web server is to translate a URL into a local resource. Consulting the page is like sending an HTTP request to this machine. The DNS service plays an essential role.
@@ -68,25 +68,24 @@ A URL has three parts:
://:/
```
-* **Protocol name**: this is the language used to communicate over the network, for example HTTP, HTTPS, FTP, and so on. The most widely used protocols are HTTP (HyperText TransferProtocol) and its secure version HTTPS, the protocol used to exchange Web pages in HTML format.
+* **Protocol name**: This is the language used to communicate over the network, such as HTTP, HTTPS, FTP, etc. The most widely used protocols are HTTP (HyperText Transfer Protocol) and its secure version, HTTPS, which is used to exchange Web pages in HTML format.
-* **Login** and **password**: allows you to specify access parameters to a secure server. This option is not recommended, as the password is visible in the URL (for security purposes).
+* **Login** and **password**: This option allows you to specify access parameters to a secure server. It is not recommended, as the password is visible in the URL (for security purposes).
-* **Host**: This is the name of the computer hosting the requested resource. Note that it is possible to use the server's IP address, which makes the URL less readable.
+* **Host**: This is the computer's name hosting the requested resource. Note that the server's IP address can also be used, but it makes the URL less readable.
-* **Port number**: this is a number associated with a service, enabling the server to know the requested resource type. The default port associated with the HTTP protocol is port number 80 and 443 with HTTPS. So, when the protocol in use is HTTP or HTTPS
-, the port number is optional.
+* **Port number**: This is associated with a service that enables the server to know the requested resource type. The HTTP protocol's default port is port 80 and 443 with HTTPS. So, the port number is optional when the protocol is HTTP or HTTPS.
-* Resource path: This part lets the server know the location of the resource. Generally, the location (directory) and name of the requested file. If nothing in the address specifies a location, it indicates the first page of the host. Otherwise it indicates the path to the page to display.
+* **Resource path**: This part lets the server know the location of the resource. Generally, it is the location (directory) and name of the requested file. If nothing in the address specifies a location, it indicates the host's first page. Otherwise, it indicates the path to the page to display.
### Ports
-An HTTP request will arrive on port 80 (default port for http) of the server running on the host. However, the administrator is free to choose the server's listening port.
+An HTTP request will arrive on port 80 (the default port for HTTP) of the server running on the host. However, the administrator is free to choose the server's listening port.
-The http protocol is available in a secure version: the https protocol (port 443). Implement this encrypted protocol with the `mod_ssl` module.
+The HTTP protocol is available in a secure version: the HTTP protocol (port 443). Implement this encrypted protocol with the `mod_ssl` module.
Using other ports is also possible, such as port `8080` (Java EE application servers).
## Apache and Nginx
-The two most common web servers for Linux are Apache and Nginx. These will be discussed in the following chapters.
+The two most common web servers for Linux are Apache and Nginx. We will discuss this in the following chapters.