This episode aims to provide a gentle introduction to web technologies at a very primary level. There are numerous books, and online courses are available to master an individual technology. With this primary Introduction provided in the episode, a development engineer can understand the role of these technologies in a community development project on which s/he is working on. It will also help them to identify the situations where a development engineer can apply these technologies. This kind of understanding at a high level is required because there are numerous web technologies are present. The interrelationship among them is difficult to figure out for a development engineer without any formal ICT training.
The advent of communication technologies and protocols, especially TCP/IP, has enabled us to build a worldwide computer network. Similarly, the Hypertext Transfer Protocol (HTTP) has made it possible to link information documents. Such interconnected documents form a web of documents or simply the web. The Hypertext Transfer Protocol (HTTP) is the primary protocol in web technologies, and it adopts a client-server model of information sharing. In addition to HTTP, web technologies include the following languages, frameworks, and protocols to implement web-based applications.
Internet Protocols The role of communication protocols is to define the format of messages to be transferred over the network. It includes many such protocols. The first kind of protocols defines the transmission of messages over the communication carriers such as wired communication, satellite communication and wireless communication. These are called physical layer protocols, of which the examples are Ethernet protocols, GSM protocols and others. Second, Transport Control Protocol and Internet protocols (TCP/IP) define the rules for transferring a message from one machine to another machine in a network. To do so, the Internet Protocol identifies a device within a network by an address called an IP address. An IP address is a 32-bits long number such as 18.104.22.168 uniquely identifying a machine. The purpose of TCP protocols is to identify applications running on a machine within a network. They define the format of messages to achieve communication from one application to another. The TCP is a reliable communication protocol meaning that the receipt of each message is acknowledged. In contrast, the User Datagram Protocol (UDP) performs unreliable communication in which messages are not acknowledged.
HTTP and HTML The Hyper-Text Transfer Protocol (HTTP )is a communication protocol specifying how web clients and servers should communicate. The HTTP communication is based on a request-response model. An HTTP interaction is typically initiated by a client sending a request message to the server; the server replies with a response message. The HTTP specifies the format of the request and response messages.
The information transferred in an HTTP message is encoded in the Hyper-Text Markup Language (HTML) language. An HTML document can contain links called hyperlinks to other documents on the web. Additionally, newer versions of HTML provide page layout facilities, including support for inline graphics, audio files, video files, and other multimedia objects.
Thus HTTP and HTML form the backbone of web technologies.
Web Clients and Servers The client-server (C/S) is the underlying computing model in web technologies. Hence, a web client, also known as a browser, is software to access a remote application called a web server. It does so by sending an HTTP request message and processing the resulting HTTP response. Web browsers are typically run on desktop, laptop and mobile devices. The software that runs on the remote machine which processes HTTP request messages is called web servers. A few examples of web clients are Chrome, Internet Explorer and Mozilla while, Tomcat, Apache Web Server, Internet Information Server (IIS) are few examples of web servers.
Cascaded Stylesheets (CSS) The Cascading StyleSheets (CSS) are encoded in markup languages, and it stores the information about how a browser shall render a web page on display. It stores information such as background colour, text font, text size, text colour and similar other attributes. The CSS helps to separate the content from its presentation.
Server-side Programming Like client-side programming, server-side programming aims to extend the functionalities of servers. Server applications run on servers such as Tomcat. JavaServlet is one of the examples of server-side programming languages. The main objective of the servers is to process HTML requests and send HTML replies. Server programs extend this primary function. Typical examples of extended functionalities include:
Preparing dynamic web pages.
Improving server programs' scalability
Providing basic security mechanisms such as authentication and logging.
Web Services Advent of XML to represent data over the web has triggered the development of web services. Like the primary web, the web services are built over the client-server model of interaction. But unlike the primary web, the web services allows accessing application functionalities. A web service request asks the remote machine to execute a specific task. The reply of web service results from performing the task and, for example, transferring money from one bank account to another.
These web technologies have transformed how information is accessed and communicated, how business processes are performed and triggered a revolution in society, especially in commerce and finance. Hence, a development engineer aiming for community development needs to know this set of web technologies.