CHAPTER 1
OVERVIEW OF THE INTERNET AND WWW
By.Abrahim A. 1
Outline
• Computer program, programming language,
• Programming and the Web, hypertext, www, HTML,
• Programming v. Scripting,
• Client/Server Model ,
• Universal Addressing (TCP/IP, DNS),
• Universal Protocols (HTTP, URLs, HTML, FTP)
By.Abrahim A. 2
Internet
• The internet was developed in the late 1960s by the
United States Department of Defense as a means of
creating a decentralized communication network that
could withstand a nuclear attack.
• Over the years, it has evolved into a complex and
sophisticated network that spans the globe.
By.Abrahim A. 3
How the Internet Works:
• At a high level, the internet works by connecting devices
and computer systems together using a set of
standardized protocols.
• These protocols define how information is exchanged
between devices and ensure that data is transmitted
reliably and securely.
• The core of the internet is a global network of
interconnected routers, which are responsible for
directing traffic between different devices and systems
By.Abrahim A. 4
‘People think that data is in the
cloud, but it’s not. It’s in the ocean.’
By.Abrahim A. 5
world's communications
• More than 95 percent of the world's communications are
carried by cable (the rest is transmitted by satellite).
• Today, some 380 submarine cables are in operation
worldwide, covering more than 1.2 million kilometers
(nearly 750,000 miles).
• Antarctica is the only continent without a physical
connection to the network.
By.Abrahim A. 6
Interconnect is a process for telecom
• Interconnect is a process for telecom operators to handle
calls for other operators thus allowing people who are
using different networks to communicate with each other
in both domestic and international scenario.
By.Abrahim A. 7
Interconnect is a process for telecom
• Point of Interconnection is used to connect the physical
interface between two different telecom operators to
connect their customers.
• If operator A and operator B are not interconnect partners,
their customers would not be able to call each other.
• So, to allow ease of communication, operators get into
interconnect agreements with each other thus allowing
good business opportunity for them.
By.Abrahim A. 8
What is Interconnect Billing System
• It is a centralized automated solution that supports multi-
party agreements with multiple service providers to use
the network and facilitate the traffic routing between
multiple networks like circuit-switched networks (e.g.
PSTN), or computer networks (e.g. Internet).
• The traffic flow is regulated through the policies defined
by the rules integrated in the system according to the
interconnect agreement between the operators.
By.Abrahim A. 9
Payload (computing and
telecommunications)
• the payload is the part of transmitted data that is the
actual intended message. Headers and metadata are sent
only to enable payload delivery and are considered
overhead.
• In the context of a computer virus or worm, the payload
is the portion of the malware which performs malicious
action.
• The term is borrowed from transportation, where payload
refers to the part of the load that pays for transportation.
By.Abrahim A. 10
What is Interconnect Billing System
• The interconnect billing solution is capable of near real
time processing to allow business optimization and help
in achieving increased operational efficiency and network
profitability. As the business in most of the cases is
bidirectional, billing systems perform 2 key tasks-
• Managing Deals or Bilateral Bulk Agreements
• Partner Settlements –the incoming and outgoing invoices are
taken through a net-off process where the net payable or
receivables are identified
By.Abrahim A. 11
What is Web Development?
• Web Development is the fabrication and preservation of
websites. This is done in order to help improve the looks
of a website and help make it work smooth and fast.
• Web development can broadly be divided in three parts:
1. Client side programming,
2. Server side programming and
3. The management of data.
By.Abrahim A. 12
What is Web Development?
• Web Developers mainly create and maintain websites
keeping the interest of the users and the clear
representation of product / service in mind. Generally,
there are a few developers who build the backend
infrastructure of the website, which are called backend
engineers, and the others who develop the UI/UX (User
Interface / User Experience) are called front end
developers.
• Web development can be client centric and revolves
around the project requirement and its complexity.
By.Abrahim A. 13
What is Web Development?
• The first step of web development would be having a
requirement analysis discussion with the client and getting
to know the expectation from the project at hand.
• The next step is to design a user-friendly interface and
provide contents of the website. In the end, the focus shifts
on the deployment of the website, such that the
functionality is accessible through all the types of web
browsers.
• There might be an additional contractual obligation of
constantly maintaining and updating the website as per
need basis.
By.Abrahim A. 14
Stack Development
• Front End: This majorly involves a client-side role in
which there is a constant touch base with the demands of
the users and how the end design looks like of the
website which includes the way users interact.
• Back End: This majorly involves a server-side role in
which there is a focus on maintenance of the website,
hosting and deployment. A major focus is also towards
the database and the servers.
• Full Stack Development: A web developer who works
with both sides of the website i.e. front-end and back end.
By.Abrahim A. 15
cont
• Web developers are well aware about the operation of
servers and the networking that goes in behind creating a
website.
• The tech stack being used by a web developer are:
HyperText Markup Language (HTML), JavaScript (JS),
Ruby on Rails, Python, and C++
By.Abrahim A. 16
Web Developer
Few of the most commonly needed skills and tools to become a web
developer are as follows:
HTML/CSS skills: Having the common and basic knowledge of HTML and
CSS is rudimentary and necessary for any web developer.
These are the most generic and world wide followed languages in web
development. Creating and styling are two aspects which are taken care of
using the mentioned skills.
Analytical Thinking: Examining existing code bases and making modifications
to them is a very common skill one should possess.
By.Abrahim A. 17
Web Developer
Apart from the technical changes – the demand of all the clients needs to
be understood and implemented properly.
We need to be agile with our processes here and make sure to make the
website as required by the clients.
Responsive web page skills: The adaptability of various screen and screen
sizes is the biggest challenge that one needs to understand and cater. If it is
not responsive or is not able to adapt to the viewability of any screens – the
purpose gets defeated. Hence, an improvement in this regard is very
important.
By.Abrahim A. 18
Cont
Javascript skills: In order to meet high end demands of the clients, skill
in Javascript can be highly regarded and can ease your work to
significant amounts. Learning such in-demand and useful skills help
solve complex problems and meet clients’ needs.
Communication skills: Interacting and collaborating with colleagues
and clients is an integral part of the job. If we can be clear in our
approach and precise to the point, the execution will become swift and
fast for everyone involved in the process.
By.Abrahim A. 19
Cont
Testing skills: If you are facing non-responsive pages or the web page does not look like
the way it was supposed to be. We need to work extensively on debugging and finding
the root cause of failure and fixing as per our requirement.
Basics of back-end: As mentioned earlier, we need a mix of all things in our knowledge
as the consumption of API’s on the front-end happen in sync with the back-end operation.
So having the skill to understand parts of it is an add-on.
SEO: Ranking and visibility of a website is equally important. If it does not reach out to
the right audience in the right manner. All the aesthetics and functionality of the website
have no major meaning. Until the purpose is served we need to closely monitor and look
at this aspect.
By.Abrahim A. 20
The management of data.
GIT and GITHUB – Sharing and co-creating does not get any better if you
learn and master the art of using GIT and GITHUB.
This provides a seamless way of developing, constantly engaging and
spreading ideas using Code Reviews and finally working on CI-CD
pipeline.
Problem solving & Management tools: Looking at the probable fix and
allotting the right amount of time and resources to complete projects in an
effective and time bound fashion is key to excelling in the role and must be
followed.
By.Abrahim A. 21
Web servers
• Web servers and web browsers are communicating client-
server computer programs for distributing documents and
information, generally called web data, over the Internet.
• Web data are marked up in the HTML language for
presentation and interaction with people in web browsers.
• Each web server uses an IP address or domain name as
well as a port number for its identification.
By.Abrahim A. 22
Web servers
• People use web browsers to send data requests to web
servers with the HTTP protocol, and the web servers
running on server computers either retrieve the requested
data from local disks or generate the data on-the-fly, mark
up the data in HTML, and send the resulting HTML files
back to the web browsers to render.
• Apache, Tomcat and IIS are popular web server
programs, and IE and Firefox are popular web browsers.
By.Abrahim A. 23
WORLD WIDE WEB
• The World Wide Web (abbreviated as WWW or W3,
commonly known as the web) is a system of interlinked
hypertext documents accessed via the Internet.
• With a web browser, one can view web pages that may
contain text, images, videos, and other multimedia and
navigate between them via hyperlinks.
• The terms Internet and World Wide Web are often used in
everyday speech without much distinction.
By.Abrahim A. 24
WORLD WIDE WEB
• However, the Internet and the World Wide Web are not
the same.
• The Internet is a global system of interconnected
computer networks. In contrast, the web is one of the
services that run on the Internet.
• It is a collection of text documents and other resources,
linked by hyperlinks and URLs, usually accessed by web
browsers from web servers
• . In short, the web can be thought of as an application
"running" on the Internet.
By.Abrahim A. 25
FUNDAMENTAL OF WEB :WEB
ARCHITECTURE
• A typical web application involves four tiers
• web browsers on the client side for rendering data
presentation coded in HTML, a web server program that
generates data presentation, an application server
program that computes business logic, and a database
server program that provides data persistency.
• The three types of server programs may run on the same
or different server machines.
By.Abrahim A. 26
Web browsers
• Web browsers can run on most operating systems with limited
hardware or software requirement.
• They are the graphic user interface for the clients to interact
with web applications.
• The basic functions of a web browser include:
• Interpret HTML markup and present documents visually;
• Support hyperlinks in HTML documents so the clicking on such
a hyperlink can lead to the corresponding HTML file being
downloaded from the same or another web server and presented;
• Use HTML form and the HTTP protocol to send requests and
data to web applications and download HTML documents;
By.Abrahim A. 27
Web browser
• Maintain cookies (name value pairs, explained later) deposited on client
computers by a web application and send all cookies back to a web site if
they are deposited by the web application at that web site (cookies will be
further discussed later in this chapter);
• Use plug-in applications to support extra functions like playing audio-video
files and running Java applets;
• Implement a web browser sandbox security policy: any software component
(applets,
• JavaScript, ActiveX …) running inside a web browser normally cannot
access local clients‘ resources like files or keyboards, and can only
communicate directly with applications on the web server from where it is
downloaded.
By.Abrahim A. 28
UNIFORM RESOURCE LOCATORS (URL)
• A web server program runs multiple web applications
(sites) hosted in different folders under the web server
program‘s document root folder.
• A server computer may run multiple server programs
including web servers.
• Each server program on a server computer uses a port
number, between 0 and 65535, unique on the server
machine as its local identification (by default a web
server uses port 80).
By.Abrahim A. 29
UNIFORM RESOURCE LOCATORS (URL)
• Each server computer has an IP address, like
198.105.44.27, as its unique identifier on the
Internet.
• Domain names, like www.pace.edu, are used as
userfriendly identifications of server computers, and
they are mapped to
By.Abrahim A. 30
Protocol
• where http is the protocol for accessing the resource (https and ftp
are popular alternative protocols standing for secure HTTP and File
Transfer Protocol);
• application is a server-side folder containing all resources related
to a web application;
• resource could be the name (alias or nickname) of an HTML or
script/program file residing on a server hard disk; and
• the optional query string passes user data to the web server.
• An example URL is http://www.amazon.com/computer/sale?
model=dell610.
By.Abrahim A. 31
Protocol
• Here are some key terms and concepts to be aware of:
• Packet: A small unit of data that is transmitted over the internet.
• Router: A device that directs packets of data between different
networks.
• IP Address: A unique identifier assigned to each device on a
network, used to route data to the correct destination.
• Domain Name: A human-readable name that is used to identify
a website, such as google.com.
• DNS: The Domain Name System is responsible for translating
domain names into IP addresses.
By.Abrahim A. 32
Protocol
• There is a special domain name ―localhost‖ that is
normally defined as an alias of local IP address 127.0.0.1.
Domain name ―localhost‖ and IP address 127.0.0.1 are
for addressing a local computer, very useful for testing
web applications where the web browser and the web
server are running on the same computer.
• Most computers are on the Internet as well as on a local
area network (LAN), like home wireless network, and
they have an external IP address and a local IP address.
By.Abrahim A. 33
Protocol
• To find out what is your computer‘s external IP address
on the Internet, use a web browser to visit
http://whatismyip.com.
• To find out what is your local (home) IP address, on
Windows, run ―ipconfig‖ in a DOS window; and on
Linux, run ―sudo ifconfig‖ in a terminal window.
By.Abrahim A. 34
Server Address
• A document exists on some serving computer somewhere
on the global Internet or within a private intranet
• Domain Intended Type
• .com Commercial entities
• .net Networks
• .edu Educational institutions
• .org Non-Profit organizations
• .gov Government entities
• .mil U.S. military
By.Abrahim A. 35
Server Address
• Potentially more domains may be found at the Internet
Assigned Numbers Authority (IANA) Web site (iana.org).
• Geographic domains are particularly common outside the
United States; such a domain name typically contains
more information than the organization type, with a fully
qualified domain name (FQDN) including a country code
as well. It generally is written as follows:
By.Abrahim A. 36
Server Address
• machine name.domain name.domain type.country code
• Zone identifiers outside the U.S. use a two-character
code to indicate the country hosting the server.
• These include .ca for Canada, .mx for Mexico, .jp for
Japan, and so on. A few examples are shown here.
www.unam.edu.mx www.mcgill.ca www.bbc.co.uk
By.Abrahim A. 37
Introduction to Protocols
• Protocol: Rules set to make data transfer more secure and efficient.
• There are many different protocols used in internet
communication;
• IP (Internet Protocol)
• TCP (Transmisson Control Protocol)
• UDP (User Datagram Protocol)
• DNS (Domain Name System)
• IP is unique identifier assigned to each device on a network, It
ensures that the data is sent to the correct destination. TCP-UDP
provides efficient and secure transmission of sent data. DNS
translates domain names into IP addresses. HTTP is responsible for
sending data transfer between client and server.
By.Abrahim A. 38
IP Addresses and Domain Names
• IP is the unique identifier assigned to each device on a network.
• Domain Names: Domain names, on the other hand, are human-
readable names used to identify websites and other internet
resources. Domain names are translated into IP addresses using the
Domain Name System (DNS).
• An Example:
• DNS is a critical part of the internet infrastructure, responsible for
translating domain names into IP addresses. When you enter a
domain name into your web browser, your computer sends a DNS
query to a DNS server, which returns the corresponding IP address.
Your computer then uses that IP address to connect to the website
or other resource you’ve requested.
By.Abrahim A. 39
IPv4 and IPv6
• The current internet standard, known as IPv4, only allows
for about 4 billion IP addresses. This was considered a
very big number in the 1970s, but today, the supply of
IPv4 addresses is nearly exhausted.
• So internet engineers have developed a new standard
called IPv6. IPv6 allows for a mind-boggling number of
unique addresses — the exact figure is 39 digits long —
ensuring that the world will never again run out.
By.Abrahim A. 40
IPv4 and IPv6
• At first, the transition to IPv6 was slow. Technical work
on the standard was completed in the 1990s, but the
internet community faced a serious chicken-and-egg
problem: as long as most people were using IPv4, there
was little incentive for anyone to switch to IPv6.
• But as IPv4 addresses became scarce, IPv6 adoption
accelerated. The fraction of users who connected to
Google via IPv6 grew from 1 percent at the beginning of
2013 to 6 percent in mid-2015.
By.Abrahim A. 41
Introduction to HTTP and HTTPS
• HTTP and HTTPS are 2 internet protocols commonly
used by internet-based applications.
• HTTP is an internet protocol used for data transfer
between client and server. The HTTP protocol enables the
transfer of web pages, content such as text, images,
videos to browsers. However, HTTP cannot provide
security because data is transmitted in clear text.
By.Abrahim A. 42
Introduction to HTTP and HTTPS
• HTTPS is a more secure version of HTTP, which
encrypts the data being transmitted between the client and
server using SSL/TLS (Secure Sockets Layer/Transport
Layer Security) encryption.
• This ensures that important personal information such as
site login information, payment information is encrypted
and protected.
• When you visit a website, HTTP asks the server for the
requested data, the server sends an HTTP response and
gives the requested data.
By.Abrahim A. 43
SSL/TLS
• HTTPS is a secure version of the HTTP protocol. HTTPS
provides encrypted transfer of data on websites.
• This prevents third parties from monitoring internet
traffic or stealing data.
• The HTTPS protocol is used in transactions that require
security, such as payment transactions on websites,
collection of personal information.
By.Abrahim A. 44
SSL/TLS
• HTTPS is implemented using a protocol called SSL/TLS.
The Secure Sockets Layer and Transport Layer Security
protocols are used to provide secure communication over
the internet.
• This protocol provides encryption and authentication of
data on websites. SSL/TLS also manages digital
certificates that verify a website is trustworthy.
By.Abrahim A. 45
TCP (Transmission Control Protocol):
• TCP (Transmission Control Protocol) is one of the
internet protocols and provides reliable data transmission
in communication on the internet.
• TCP ensures that the sent data is split into packets and
these packets are then forwarded to the destination over
the network.
• These packages are resent in case they are lost or
damaged. In this way, problems such as data loss or data
corruption are minimized and data transfer is made
secure.
By.Abrahim A. 46
TCP (Transmission Control Protocol):
• TCP initiates communication with the three-way
handshake protocol and establishes the connection.
• During data transmission, it uses flow control and error
correction methods to ensure that each packet reaches the
other party.
• TCP is one of the internet’s most widely used protocols
and is used for web pages, email, file transfer, and many
other applications.
By.Abrahim A. 47
IP (Internet Protocol):
• A unique identifier assigned to each device on a network,
used to route data to the correct destination.
• TCP/IP is the widely used communication protocol. It
provides reliable, sequential and error-controlled data
transmission between applications running on different
devices.
By.Abrahim A. 48
TCP/IP
• When building applications with TCP/IP, there are a few
key concepts to understand:
• Ports: Ports are used to identify the application or service
running on a device. Each application or service is
assigned a unique port number, allowing data to be sent
to the correct destination.
By.Abrahim A. 49
TCP/IP
• Sockets: A socket is a combination of an IP address and a
port number, representing a specific endpoint for
communication. Sockets are used to establish connections
between devices and transfer data between applications.
• Connections: A connection is established between two
sockets when two devices want to communicate with
each other. During the connection establishment process,
the devices negotiate various parameters such as the
maximum segment size and window size, which
determine how data will be transmitted over the
connection.
By.Abrahim A. 50
TCP/IP
• Data transfer: Once a connection is established, data can
be transferred between the applications running on each
device.
• Data is typically transmitted in segments, with each
segment containing a sequence number and other
metadata to ensure reliable delivery.
By.Abrahim A. 51
TCP/IP
• You’ll also need to be familiar with the various protocols
and standards that are commonly used with TCP/IP, such
as HTTP, FTP (File Transfer Protocol), and SMTP
(Simple Mail Transfer Protocol).
• Understanding these concepts and protocols is essential
for building effective, scalable, and secure internet-based
applications and services.
By.Abrahim A. 52
Securing Internet Communication
with SSL/TLS
• TCP/IP is the widely used communication protocol. It
provides reliable, sequential and error-controlled data
transmission between applications running on different
devices.
• When using SSL/TLS to secure internet communication,
there are a few key concepts to understand:
By.Abrahim A. 53
Securing Internet Communication
with SSL/TLS
• Certificates: SSL/TLS certificates are used to establish
trust between the client and server. They contain
information about the identity of the server and are
signed by a trusted third party (a Certificate Authority) to
verify their authenticity.
By.Abrahim A. 54
Cont
• Handshake: During the SSL/TLS handshake process, the
client and server exchange information to negotiate the
encryption algorithm and other parameters for the secure
connection.
• Encryption: Once the secure connection is established,
data is encrypted using the agreed-upon algorithm and
can be transmitted securely between the client and server.
By.Abrahim A. 55