Internet is a global system of interconnected computer networks that connect various Domain Name System (DNS) servers, web hosting servers, home and business users, etc. Internet is a network of networks.
Lot of data transfer happens in an internet between computers and networks, and there should be some rules to regulate these transfers. A communications protocol is a system of digital rules for data exchange within or between computers.
Some of the important protocols of internet are:
TCP (Transmission Control Protocol),
IP (Internet Protocol),
UDP (User Datagram Protocol),
HTTP (Hypertext Transfer Protocol),
FTP (File Transfer Protocol) and
SMTP (Simple Mail Transfer Protocol).
The Internet protocol suite is a set of communications protocols used for the Internet and similar networks. It is commonly known as TCP/IP, because it’s most important protocols are the Transmission Control Protocol (TCP) and the Internet Protocol (IP), and they were the first networking protocols defined in this standard.
Transmission Control Protocol (TCP) is a connection-oriented protocol that provides reliable, ordered, error-checked delivery of packets.
Internet Protocol (IP) has the task of delivering packets from the source host to the destination host solely based on the IP addresses in the packet headers.
UDP is a connection-less protocol that does not provide reliability, order or error-checking. UDP messages are referred to as datagrams and a datagram is defined as a basic transfer unit associated with a packet-switched network in which the delivery, arrival time, and order of arrival are not guaranteed by the network.
HTTP is the protocol to exchange or transfer hypertext. Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text.
The World Wide Web (abbreviated as WWW or W3) or the web is a system of interlinked hypertext documents accessed via the Internet. With a web browser, one can view web pages and navigate between them via hyperlinks.
FTP is a standard network protocol used to transfer files from one host to another host over a TCP-based network.
SMTP is an Internet standard for electronic mail (e-mail) transmission across Internet Protocol (IP) networks.
Websites and pages over the internet have a unique worldwide address called the IP addresses (e.g. 192.168.1.6), but a domain name (e.g. javajee.com) is used to refer to a website as it is easy to remember.
There are two versions of IP specification in use now: IPv4 and IPv6. IPv4 is the most widely used version currently. An IPv4 address contains 4 parts and each part will be a number between 0 and 255, e.g. 192.168.1.6. An IPv6 address has 8 parts and each part must be a hexadecimal number between 0 and FFFF, e.g. FF3:9B3D:999:0:FF12:420:20:444D.
Domain Name System (DNS) provides a mapping between domain names like javajee.com and IP addresses like 192.168.1.6. When we type a domain name like javajee.com in the browser, it will use DNS to resolve or find the IP address and browser then uses the IP address to connect to the correct machine.
A web application is any application software that runs on a server and we can access it using a web browser client. For instance, consider this website; you access it using a client browser, but it is deployed on a server located elsewhere.
Popular server side technologies used to create web applications include JSP/Servlets, ASP, PHP etc. These server side technologies will require corresponding software libraries to be installed at the server side.
A web server is software that helps to deliver web content (web pages) to the clients (e.g. web browser) through the Internet using HTTP protocol. Some of the commonly used web servers are Apache web server, Microsoft Internet Information Services (IIS), Nginx Nginx (pronounced "engine x") and GWS (Google Web Server). Other older web servers include Jigsaw web server from W3C, Oracle web server and Xitami web and FTP server developed by iMatix Corporation.
Java web containers like Apache Tomcat also can act as a web server, but is usually used along with another web server like Apache server.
A uniform resource identifier (URI) is a string of characters used to identify a name of a resource. Such identification enables interaction with representations of the resource over a network, typically the World Wide Web, using specific protocols. Schemes specifying a concrete syntax and associated protocols define each URI.
URI is an abstract concept and the two concrete forms of URI are
uniform resource locator (URL), which is most common and is frequently referred to informally as a web address. E.g. http://www.ososys.com/internet-and-web-technologies.
HTML (Hypertext Mark-up Language) is a markup language used to mark-up the different elements of a web page like headings, paragraphs, tables, images etc. Without markup, the contents will just appear as normal text without any headings, paragraphs, tables or images. A web browser (e.g. Internet Explorer, Google chrome, Mozilla Firefox and Opera web browser) can read HTML documents and compose them into visible or audible web pages.
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation semantics (the look and formatting) of a document written in a markup language like HTML. CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as the layout, colors, and fonts. You can also define the look and feel using HTML alone, but that is not a good practice. One of the advantages of using CSS is that you can change the look and feel of a page just by changing the style sheet and don’t have to change the web page itself.
Most of the definitions in this note are taken from Wikipedia. You can refer to the individual topic pages in Wikipedia for more details.
We will focus more on Java and server side development in this notebook. For further reading related to client side technologies and general concepts on internet and web technologies, please refer to the notes @ http://www.ososys.com/internet-and-web-technologies.