Week1 Introduction
Week1 Introduction
The World Wide Web (WWW) is an Internet-based hypertext project that allows global information sharing. It
is a collection of interlinked multimedia documents that are stored on the Internet. A protocol (HTTP) is used to
access the documents. Also, it is one way of sharing information via the Internet.
Documents and downloadable media are made available to the network through web servers and can be
accessed by programs such as web browsers. Servers and resources on the World Wide Web are identified and
located through character strings called uniform resource locators (URLs).
WWW Components
Structural Components
Syntactic Components
A client is a requesting program in a client/server relationship, e.g., the user of a Web browser is effectively
making client requests for pages from servers all over the Web. A web browser is a software application for
retrieving, presenting, and traversing information resources on the World Wide Web. When it needs to view
information from the Internet, First it requires opening a web browser. A web browser is software that is used
to access the Internet. A web browser provides access to websites and does activities within them like login,
viewing multimedia, linking from one site to another, visiting one page from another, printing, sending, and
receiving email, among many other activities.
Search Engine: is also a Computer program that allows users to search information on the web.
Server
pg. 1
Web Programming | HNDIT3022
In general, a server is a computer program that provides services to other computer programs in the same or
other computers. This can also be defined as a network server that manages access to files, folders, and other
resources over the Internet or local intranet via HTTP. Web servers handle access permission, execute programs,
keep track of directories and files, and communicate with client computers.
Internet
The Internet is the global network that defines how the hardware can be connected or it can be seen as a
medium for collaboration and interaction between individuals and their computers regardless of geographic
location. That includes everything from the cables that carry terabits of data/information every second to inter-
connected computers. All this hardware wouldn't work without the protocols. Protocols are sets of rules that
machines (devices) follow to complete tasks. There are several protocols on the Internet.
HTTP
HTML
HTML is the standard markup language for creating Web pages and describes the structure of a Web page. HTML
consists of a series of elements. It tells the browser how to display the content. Label pieces of HTML content
such as "this is a heading", "this is a paragraph", "this is a link", etc.
URI
The Uniform Resource Identifier (URI) is intended to identify abstract or physical resources on the Internet. A
Uniform Resource Locator (URL), or web address, is the most common form of URI. It is used for unambiguously
identifying and locating websites or other web-connected resources.
URL
This is a universal addressing mechanism and it would be impossible to navigate to a site or a page linking would
not be feasible without a URL.
IP address
Every device on a network has a unique identification. As an address of a letter to send in the posted mail,
computer devices use a unique identifier to send data to a specific device on a network.
IP Version 4 (IPv4)
pg. 2
Web Programming | HNDIT3022
IP Version 6 (IPv6).
Numeric IP addresses work very well for computers, but humans find it difficult to use long patterns of numbers.
Therefore, humans identify computers using Uniform Resource Locators (URLs) or Web Addresses.
There is a translator to translate the URL to an IP address as computers need to use IP addresses to access
websites. This translation happens through the Domain Name System (DNS).
– microsoft.com
A DNS server is a high-end computer that contains a database of public IP addresses and their associated
hostnames (URLs), it serves to resolve or translate, those common names to IP addresses. It is also called as
name server.
If you are using an Internet Service Provider (ISP), your DNS server is at your ISP.
Web architecture is important because it plays a crucial role in the performance, scalability, and maintenance
of a website or web application. Additionally, effective web architecture can ensure adaptability if an employer
requests major changes to a project that's already underway. There are many different approaches, strategies,
and patterns of web application architecture.
It is a software architecture model consisting of two parts, client systems, and server systems both
communicating over a computer network or on the same computer.
• The client is defined as the requester of services and the server is defined as the provider of services
Characteristics of a client
pg. 3
Web Programming | HNDIT3022
• Initiates requests(Master)
• A Server is a host that is running one or more server programs that can share information or
resources.
Characteristics of a server
• Passive (slave)
Multi-tier Architecture
N-tier application architecture provides a model by which developers can create flexible and reusable
applications. By segregating an application into tiers, developers acquire the option of modifying or adding a
specific layer, instead of reworking the entire application.
Three-tier architectures typically comprise a presentation tier, a business or data access [logic] tier, and a data
tier.
pg. 4
Web Programming | HNDIT3022
Presentation tier
The presentation tier is the user interface and communication layer of the application, where the end-user
interacts with the application. Its main purpose is to display information to and collect information from the
user. This top-level tier can run on a web browser, as a desktop application, or as a graphical user interface (GUI).
Web presentation tiers are usually developed using HTML, CSS, and JavaScript. Desktop applications can be
written in a variety of languages depending on the platform.
Application Tier
The application tier, also known as the logic tier or middle tier, is the heart of the application. In this tier,
information collected in the presentation tier is processed - sometimes against other information in the data
tier - using business logic, a specific set of business rules. The application tier can also add, delete, or modify
data in the data tier. The application tier is typically developed using Python, Java, Perl, PHP, or Ruby, and
communicates with the data tier using API calls.
Data Tier
The data tier, sometimes called database tier, data access tier, or back-end, is where the information processed
by the application is stored and managed. This can be a relational database management system such as
PostgreSQL, MySQL, Maria DB, Oracle, DB2, Informix, or Microsoft SQL Server, or a NoSQL Database server such
as Cassandra, Couch DB, or MongoDB.
Each tier can run on a separate operating system and server platform - e.g., web server, application server,
database server - that best fits its functional requirements. Each tier runs on at least one dedicated server
hardware or virtual server, so the services of each tier can be customized and optimized without impacting the
other tiers.
1. Faster development: Because each tier can be developed simultaneously by different teams, an
organization can bring the application to market faster, and programmers can use the latest and best
languages and tools for each tier.
2. Improved scalability: Any tier can be scaled independently of the others as needed.
3. Improved reliability: An outage in one tier is less likely to impact the availability or performance of the
other tiers.
pg. 5
Web Programming | HNDIT3022
4. Improved security: Because the presentation tier and data tier can't communicate directly, a well-
designed application tier can function as a sort of internal firewall, preventing SQL injections and other
malicious exploits.
Any application that uses Web Technologies including web browsers, web servers, and Internet protocols is
called a Web Application. Web application architecture defines the interactions between applications,
middleware systems, and databases. A web application can be divided into three different layers.
Presentation tier
• Browser/custom client
• Client Side Scripting (JavaScript)
• Applets.
Logical tier
Data tier
• Database Management System (DBMS) (Oracle, MySQL, SQL Server, DB2, etc.)
• XMLD
1-tier architecture
All 3 layers are on the same machine. All code and processing are kept on a single machine. Presentation, Logic,
and Data layers are tightly connected.
Limitations
Scalability issue. A single processor means hard to increase the volume of processing
2-tier architecture
pg. 6
Web Programming | HNDIT3022
The database runs on a Server. Separated from the client and easy to switch to a different database. The
presentation and logic layers are still tightly connected (coupled). Heavy load on the server and hence
potential congestion on the network. The presentation is still tied to business logic.
3-tier architecture
Each layer can potentially run on a different machine. Presentation, logic, data layers disconnected.
pg. 7