Communication Systems using HTTP - A Bird's Eye View from 50,000 Feet
Just as every institution and organization has its set of rules and guidelines that enable for smooth and consistent functioning, similarly every network has to follow a set of guidelines or protocols to be successfully operational. In common man terms, a network protocol is a set of communication guidelines which every agent, such as web clients and web servers, in the network has to follow.
The Communication Ecosystem
Here agents refer to web clients or browsers such as Chrome or Safari and a web server such as Apache. While communicating, these agents have to comply with Hyper Text Transfer Protocol or commonly known as HTTP. There are several internet application protocols in the online universe and like them HTTP has to depend upon TCP/IP, or Transmission Control Protocol/ Internet Protocol which facilitates this communication between two agents through an ordered sequence of bytes. It is also important to note that each computer in a network is assigned an IP address consisting of four bytes separated by dots for instance, 192. 21.324.15. This IP address is unique ID given to any computer in the global network of computers. It is somewhat similar to a fingerprint used to identify a human being. But you must have observed that one doesn't use IP addresses all the time, let alone one does not even recognize his or her computer's IP address. Now that is because we easy remember names such as www.websitename.com. To make things easier another internet service called Domain Name System or DNS, which has its own protocol based on TCP/IP comes to our rescue. The function of DNS is to link our easy-to-remember website names to IP addresses and invoke them when required. This activity is carried out in real quick time by web clients or browsers who contact the DNS to look up any site name you enter in the address bar. This protocol used by a TCP/IP compatible computer entails that if a program executed on a computer refers to the name local host, it means the very computer the program is running on.
At some point of time, you must also have come across secure surfing using HTTPS. This is the secure way to access portals which use your privacy related information such as passwords, banking details etc. Organizations that need to protect the privacy of their users and members use this secure protocol which keeps their servers secure from hacker attacks. Depending upon the level of safety HTTPS leverages public-key cryptography, 128-bit or 256-bit encryption, to encode communication between an HTTP client and another server. This is done so that a hacker or someone who is not supposed to eavesdrop on this communication channel sees only a meaningless set of codes. To see things from a professional programmer's perspective, HTTPS acts like HTTP, but only works if the Web server supports HTTPS access to various pages on the website.