A Web server is a program that uses HTTP to serve the files that form Web pages to users, in response to their requests, which are then forwarded by their computers' HTTP clients. Dedicated computers and appliances may also be referred to as Web servers. It's a software that can process a client request and send a response back to the client. Web servers and web clients are two separate applications, so there should be a common language for communication. HTML is the common language between server and client. A web server is also called a Hypertext Transfer Protocol (HTTP) server because it uses HTTP to communicate with its clients, which are usually web browsers. Basically a web server is used to host web sites but other web servers also exist, such as gaming, storage, FTP, email, and more.
To start off the course, we will consume data from a public REST API using the new HTTP 2.0 client built into Java 9, providing both a synchronous and asynchronous example. Moving along, you will learn how to implement your own internet-facing REST API. We will do this by extending the previous example to publish data from a data file over the internet. We will then add a token-based authentication layer to our API, including examples of how to encrypt passwords and store them in a MySQL database. This course will teach you all you need to know to leverage the new HTTP 2.0 client bundled with Java 9 to build a fully functional HTTP REST API, complete with authentication, leveraging Hibernate and MySQL.
All the code files for this course are available on GitHub at – http://github.com/PacktPublishing/Building-Web-Servers-in-Java-