diff --git a/assets/templates/_table_of_contents.phtml b/assets/templates/_table_of_contents.phtml
index cb71f4e..87cbbfa 100644
--- a/assets/templates/_table_of_contents.phtml
+++ b/assets/templates/_table_of_contents.phtml
@@ -31,6 +31,7 @@
- HTTP
- HTTP POST
+ - PHP HTTP Server
Credits
diff --git a/chapters/web/03-http-server.md b/chapters/web/03-http-server.md
new file mode 100644
index 0000000..667105d
--- /dev/null
+++ b/chapters/web/03-http-server.md
@@ -0,0 +1,58 @@
+In PHP, you usually use a separate web server program that accepts HTTP requests and passes them to PHP to create a response. Common examples of separate web server programs are Apache and Nginx. However, PHP has a built in web server we can use during development.
+
+To use the development web server, open a terminal and a new folder for holding your code. Create a file called `index.php` and put this PHP code in it:
+```php
+";
+foreach ($headers as $key => $header) {
+ echo "$key: $header
";
+}
+```
+Reload `localhost:8080` and you will see the main request line and all of the headers printed on the web page. The `
` tag is HTML for a new line. Since we are outputting to a web browser, we can no longer use `"\n"` to create a new line.
+
+By default, PHP will generate the necessary response line and headers. If you open your browser console and open the network tab, you can see the response code and headers.
+```http
+HTTP/1.1 200 OK
+Host: localhost:8080
+Date: Sun, 28 Apr 2019 10:19:25 -0500
+Connection: close
+X-Powered-By: PHP/7.2.17
+Content-type: text/html; charset=UTF-8
+```
+PHP set the response code to `200 OK` and the content type to `text/html`. Even though PHP will output good defaults, we can change them in our code if we want. Update your `index.php` file with this code:
+```php
+ 'HTTP POST',
'subtitle' => 'Sending data to a server',
'previous' => 'web/http',
+ 'next' => 'web/http-server',
+ ]),
+ Page::create('web/http-server', 'web/03-http-server.md', [
+ 'title' => 'PHP HTTP Server',
+ 'subtitle' => 'Handling HTTP Requests in PHP',
+ 'previous' => 'web/http-post',
'next' => '',
]),
],