Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Unit I

Introduction to Web Applications

 HTML
 HTML is an acronym which stands for Hyper Text Markup Language which is
used for creating web pages and web applications. Let's see what is meant by
Hypertext Markup Language, and Web page.
 Hyper Text: HyperText simply means "Text within Text." A text has a link within it,
is a hypertext. Whenever you click on a link which brings you to a new webpage, you
have clicked on a hypertext. HyperText is a way to link two or more web pages
(HTML documents) with each other.
 Markup language: A markup language is a computer language that is used to apply
layout and formatting conventions to a text document. Markup language makes text
more interactive and dynamic. It can turn text into images, tables, links, etc.
 Web Page: A web page is a document which is commonly written in HTML and
translated by a web browser. A web page can be identified by entering an URL. A
Web page can be of the static or dynamic type. With the help of HTML only, we
can create static web pages.
 Hence, HTML is a markup language which is used for creating attractive web pages
with the help of styling, and which looks in a nice format on a web browser. An
HTML document is made of many HTML tags and each HTML tag contains different
content.

Let's see a simple example of HTML

<!DOCTYPE>
<html>
<head>
<title>Web page title</title>
</head>
<body>
<h1>Write Your First Heading</h1>
<p>Write Your First Paragraph.</p>
</body>
</html>

Description of HTML Example: -

<!DOCTYPE>: It defines the document type or it instruct the browser about the version of
HTML.
<html>: This tag informs the browser that it is an HTML document. Text between html tag
describes the web document. It is a container for all other elements of HTML except
<!DOCTYPE>

<head>: It should be the first element inside the <html> element, which contains the
metadata (information about the document). It must be closed before the body tag opens.

<title>: As its name suggested, it is used to add title of that HTML page which appears at the
top of the browser window. It must be placed inside the head tag and should close
immediately. (Optional)

<body>: Text between body tag describes the body content of the page that is visible to the
end user. This tag contains the main content of the HTML document.

<h1>: Text between <h1> tag describes the first level heading of the webpage.

<p>: Text between <p> tag describes the paragraph of the webpage.

Features of HTML
1) It is a very easy and simple language. It can be easily understood and modified.

2) It is very easy to make an effective presentation with HTML because it has a lot of
formatting tags.

3) It is a markup language, so it provides a flexible way to design web pages along with the
text.

4) It facilitates programmers to add a link on the web pages (by html anchor tag), so it
enhances the interest of browsing of the user.

5) It is platform-independent because it can be displayed on any platform like Windows,


Linux, and Macintosh, etc.

6) It facilitates the programmer to add Graphics, Videos, and Sound to the web pages which
makes it more attractive and interactive.

7) HTML is a case-insensitive language, which means we can use tags either in lower-case or
upper-case.

 Client-Side Scripting Vs Server-Side Scripting


1. Client-side scripting: Web browsers execute client-side scripting. It is used when
browsers have all code. Source code is used to transfer from webserver to user‟s computer
over the internet and run directly on browsers. It is also used for validations and functionality
for user events.

It allows for more interactivity. It usually performs several actions without going to the user.
It cannot be basically used to connect to databases on a web server. These scripts cannot
access the file system that resides in the web browser. Pages are altered on basis of the user‟s
choice. It can also be used to create “cookies” that store data on the user‟s computer.

2. Server-side scripting: Web servers are used to execute server-side scripting. They are
basically used to create dynamic pages. It can also access the file system residing at the
webserver. A server-side environment that runs on a scripting language is a web server.

Scripts can be written in any of several server-side scripting languages available. It is used to
retrieve and generate content for dynamic pages. It is used to require to download plugins. In
this load times are generally faster than client-side scripting. When you need to store and
retrieve information a database will be used to contain data. It can use huge resources of the
server. It reduces client-side computation overhead. The server sends pages to the request of
the user/client.

Difference between client-side scripting and server-side scripting:

Client-side scripting Server-side scripting


Source code is not visible to the user because its
Source code is visible to the user. output of server-side is an HTML page.

Its main function is to provide the Its primary function is to manipulate and provide
requested output to the end user. access to the respective database as per the request.
In this any server-side technology can be used and it
It usually depends on the browser and does not
its version. depend on the client.

It runs on the user‟s computer. It runs on the webserver.


There are many advantages linked with
The primary advantage is its ability to highly
this like faster.
customize, response
response times, a more interactive
requirements, access rights based on user.
application.

It does not provide security for data. It provides more security for data.
It is a technique used in web It is a technique that uses scripts on the webserver
development in which scripts run on the to produce a response that is customized for each
client‟s browser. client‟s request.
HTML, CSS, and JavaScript are used. PHP, Python, Java, Ruby is used.
No need of interaction with the server. It is all about interacting with the servers.
It reduces load on processing unit of the
It surges the processing load on the server.
server.
Difference Between Server-Side Scripting and Client-Side Scripting

Parameters Server-Side Scripting Client-Side Scripting


For server-side scripting, a web
The script for the client-side scripting
server serves as the medium for
Script Running runs by using a browser. It is present
running it. They create the pages that
already in any user‟s computer.
one would send to the browser.
We use the server-side scripting at
the back-end, where the source code We use the client-side scripting at the
Uses stays hidden from the browser front end, and any user can view it
(client-side)- making it non- using the browser itself.
viewable.
Server-side scripting occurs
Client-side scripting occurs when all
whenever a browser initiates a
the codes that a browser possesses in a
Occurrence request for it. As a result, many
page later change/ alter according to
dynamic pages get created on the
any user‟s input.
basis of several conditions.
Any server is capable of carrying out A typical browser performs the client-
Operation server-side scripting, but it can‟t side scripting after it receives a page
carry out client-side scripting. (that the server sends).
The client-side scripting occurs on the
The server-side scripting occurs on a
local computers. Thus, in this case, we
remote computer. Thus, the response
Execution get a comparatively quicker response
we get is slower as compared to that
in comparison with the server-side
of the client-side scripting.
scripting.
The server-side scripting works well
The client-side scripting works well in
for the areas that require the loading
Suitability those cases that require user
of a dynamic type of data and
interaction.
information.
The server-side scripting assists a
Connection to The client-side server doesn‟t connect
user in connecting to the database
the Server to those databases that exist primarily
that already exists in the concerned
Database on the concerned web server.
web server.
The server-side scripting has
Access To The client-side scripting has no access
complete access to all the files
Various Files to the files that exist in a web server.
present in any web server.
Languages like Ruby on Rails, Perl, Languages like VB Script, CSS,
ASP, Python, ColdFusion, PHP, etc., HTML, Javascript, etc., are very
Languages
come into play in the case of server- common in the case of client-side
side scripting. scripting.
The server-side scripting is way The client-side scripts are much less
Security
more secure as compared to the secure as compared to the server-side
client-side one. It is because the ones. It is because these scripts don‟t
scripts of the server-side stay hidden stay hidden from any random client‟s
from any random clients. end.

 Web Servers: Local Servers and Remote Servers


A web server is software and hardware that uses HTTP (Hypertext Transfer Protocol) and
other protocols to respond to client requests made over the World Wide Web. The main job
of a web server is to display website content through storing, processing, and delivering
webpages to users. Besides HTTP, web servers also support SMTP (Simple Mail Transfer
Protocol) and FTP (File Transfer Protocol), used for email, file transfer and storage.

Web server hardware is connected to the internet and allows data to be exchanged with other
connected devices, while web server software controls how a user accesses hosted files. The
web server process is an example of the client/server model. All computers that host websites
must have web server software.

Web servers are used in web hosting, or the hosting of data for websites and web-based
applications -- or web applications.

How do web servers work?

Web server software is accessed through the domain names of websites and ensures the
delivery of the site's content to the requesting user. The software side is also comprised of
several components, with at least an HTTP server. The HTTP server can understand HTTP
and URLs. As hardware, a web server is a computer that stores web server software and other
files related to a website, such as HTML documents, images, and JavaScript files.

When a web browser, like Google Chrome or Firefox, needs a file that's hosted on a web
server, the browser will request the file by HTTP. When the request is received by the web
server, the HTTP server will accept the request, find the content and send it back to the
browser through HTTP.

More specifically, when a browser requests a page from a web server, the process will follow
a series of steps. First, a person will specify a URL in a web browser's address bar. The web
browser will then obtain the IP address of the domain name -- either translating the URL
through DNS (Domain Name System) or by searching in its cache. This will bring the
browser to a web server. The browser will then request the specific file from the web server
by an HTTP request. The web server will respond, sending the browser the requested page,
again, through HTTP. If the requested page does not exist or if something goes wrong, the
web server will respond with an error message. The browser will then be able to display the
webpage.

Multiple domains also can be hosted on one web server.

Examples of web server uses


Web servers often come as part of a larger package of internet- and intranet-related programs
that are used for:

 sending and receiving emails;


 downloading requests for File Transfer Protocol (FTP) files; and
 building and publishing webpages.

Many basic web servers will also support server-side scripting, which is used to employ
scripts on a web server that can customize the response to the client. Server-side scripting
runs on the server machine and typically has a broad feature set, which includes database
access. The server-side scripting process will also use Active Server Pages (ASP), Hypertext
Preprocessor (PHP) and other scripting languages. This process also allows HTML
documents to be created dynamically.

Dynamic vs. static web servers

A web server can be used to serve either static or dynamic content. Static refers to the content
being shown as is, while dynamic content can be updated and changed. A static web server
will consist of a computer and HTTP software. It is considered static because the sever will
send hosted files as is to a browser.

Dynamic web browsers will consist of a web server and other software such as an application
server and database. It is considered dynamic because the application server can be used to
update any hosted files before they are sent to a browser. The web server can generate
content when it is requested from the database. Though this process is more flexible, it is also
more complicated.

Common and top web server software on the market

There are several common web servers available, some including:

 Apache HTTP Server. Developed by Apache Software Foundation, it is a free and


open-source web server for Windows, Mac OS X, Unix, Linux, Solaris and other
operating systems; it needs the Apache license.
 Microsoft Internet Information Services (IIS). Developed by Microsoft for
Microsoft platforms; it is not open sourced, but widely used.
 Nginx. A popular open-source web server for administrators because of its
light resource utilization and scalability. It can handle many concurrent sessions due
to its event-driven architecture. Nginx also can be used as a proxy server and load
balancer.
 Lighttpd. A free web server that comes with the FreeBSD operating system. It is seen
as fast and secure, while consuming less CPU power.
 Sun Java System Web Server. A free web server from Sun Microsystems that can
run on Windows, Linux and Unix. It is well-equipped to handle medium to large
websites.

Leading web servers include Apache, Microsoft's Internet Information Services (IIS)
and Nginx -- pronounced engine X. Other web servers include Novell's NetWare server,
Google Web Server (GWS) and IBM's family of Domino servers.
Considerations in choosing a web server include how well it works with the operating system
and other servers; its ability to handle server-side programming; security characteristics;
and the publishing, search engine and site-building tools that come with it. Web servers may
also have different configurations and set default values. To create high performance, a web
server, high throughput and low latency will help.

Web Server: Web server is a program which processes the network requests of the users and
serves them with files that create web pages. This exchange takes place using Hypertext
Transfer Protocol (HTTP).
Basically, web servers are computers used to store HTTP files which makes a website and
when a client requests a certain website, it delivers the requested website to the client. For
example, you want to open Facebook on your laptop and enter the URL in the search bar of
google. Now, the laptop will send an HTTP request to view the Facebook webpage to another
computer known as the webserver. This computer (webserver) contains all the files (usually
in HTTP format) which make up the website like text, images, gif files, etc. After processing
the request, the webserver will send the requested website-related files to your computer and
then you can reach the website.
Different websites can be stored on the same or different web servers but that doesn‟t affect
the actual website that you are seeing in your computer. The web server can be any software
or hardware but is usually a software running on a computer. One web server can handle
multiple users at any given time which is a necessity otherwise there had to be a web server
for each user and considering the current world population, is nearly close to impossible. A
web server is never disconnected from the internet because if it was, then it won‟t be able to
receive any requests, and therefore cannot process them.

There are many web servers available in the market both free and paid. Some of them are
described below:

 Apache HTTP server: It is the most popular web server and about 60 percent of the
world‟s web server machines run this web server. The Apache HTTP web server was
developed by the Apache Software Foundation. It is an open-source software which
means that we can access and make changes to its code and mold it according to our
preference. The Apache Web Server can be installed and operated easily on almost all
operating systems like Linux, MacOS, Windows, etc.

 Microsoft Internet Information Services (IIS): IIS (Internet Information Services)


is a high performing web server developed by Microsoft. It is strongly united with the
operating system and is therefore relatively easier to administer. It is developed by
Microsoft, it has a good customer support system which is easier to access if we
encounter any issue with the server. It has all the features of the Apache HTTP Server
except that it is not an open-source software and therefore its code is inaccessible
which means that we cannot make changes in the code to suit our needs. It can be
easily installed in any Windows device.

 Lighttpd: Lighttpd is pronounced as „Lightly‟. It currently runs about 0.1 percent of


the world‟s websites. Lighttpd has a small CPU load and is therefore comparatively
easier to run. It has a low memory footprint and hence in comparison to the other web
servers, requires less memory space to run which is always an advantage. It also has
speed optimizations which means that we can optimize or change its speed according
to our requirements. It is an open-source software which means that we can access its
code and add changes to it according to our needs and then upload our own module
(the changed code).

 Jigsaw Server: Jigsaw has been written in the Java language and it can run CGI
(common gateway interference) scripts as well as PHP programs. It is not a full-
fledged server and was developed as an experimental server to demonstrate the new
web protocols. It is an open-source software which means that we can access its code
and add changes to it according to our needs and then upload our own module (the
changed code). It can be installed on any device provided that the device supports
Java language and modifications in Java.

 Sun Java System: The Sun Java System supports various languages, scripts, and
technologies required for Web 2.0 such as Python, PHP, etc. It is not an open-source
software and therefore its code is inaccessible which means that we cannot make
changes in the code to suit our needs.

Web servers are specialized computers with additional resources and a web server
software that deliver the web pages and the related content to users when they request by
typing a URL in the browser address bar. For example, if a user enters the URL –
“http://www.csveda.com/webservers.html” in the browser, it generates a server request to
the Web server having domain name “csveda.com”. The web server fetches the page
webservers.html and sends it to the user‟s browser.

If a user wants to create a website or a web application for other people who could access
the site through internet or intranet, she has to host it in a web server. Web hosting is all
about purchasing the web server storage space, domain name and storing the web pages
in the server.

There is a number of web server software that can be installed on the web server
machines (hardware). Commonly used web server software are Apache, IIS and lighttpd,
Sun Java System Web Server and Jigsaw. A web server is also responsible for
implementing the essential security checks on HTTP requests generated by the users
before bringing up the web page on the browser. If the requested webpage needs some
additional modules or script processing the server does that and generates the final HTML
document.

Depending upon from where a user is accessing the web pages from web servers can be
categorized as local server and remote server.

Local Web Servers


As the name suggests a local server is a privately owned machine most commonly
used by developers to store and test the web pages that have server side scripting
codes. In other words when a developer installs web server software on his current
machine and uses it for developing web applications, the machine will be called a
local web server. A local server can be your laptop or Personal Computer giving you
the complete environment (software & hardware) for developing a web application.

Remote Web Servers


Opposite to the local server, remote server refers to a computer that is remotely
located having a web server software, database and other resources to handle remote
requests sent by the users of a website. A remote server may host single or multiple
websites. It has to be powered to process the scripting language codes in the web
pages. Usually the remote servers are high performance computers having large
memory and storage space to handle multiple page requests of the users. The remote
web server responds to the user requests by transferring the pages requested over the
internet connectivity.

Difference between Local Server and a Remote Server

Local Server Remote Server


A local machine with no network connectivity A remote computer with web server software,
having a web server software database and other resources

Virtually no expenses are needed to set up and


Expensive due to high performance needs
maintain

Needs no network connectivity Needs networks and communication connectivity

Usually setup for development and testing of web


May host multiple websites of different clients
sites having server side scripting

Web pages and other files can be simply copied in A user needs a special FTP(File Transfer Protocol)
the local web server root directory. software like FileZilla, CuteFTP or gFTP to
upload or download files to/ from the remote web
server

A remote web server must implement extensive


Does not need any extensive security mechanism
security mechanism to protect the data being
being available on an individual computer
transmitted and shared by the users.

Ownership usually lies with a company and


Owned and maintained by an individual requires a team of experts to maintain a remote
web server.

 Installing Web servers


A device needs to be set up to listen for client requests across a network connection in order
to perform the role of a server. The operating system may include this functionality as an
installed application, a role, or a combination of the two.

The windows server operating system from microsoft has the capability to hear and respond
to client requests. The types of client requests the server can handle increase with additional
installed roles or services. Another illustration is when an additional application called
Apache is put on top of an operating system to handle requests from web browsers. A client
sends a request over the network whenever it needs data or functionality from a server. The
server gets this request and provides the necessary information in response. This is the client-
server networking request and response model, commonly referred to as the call and response
model.

As part of a single request and response, a server frequently completes a variety of additional
tasks, such as confirming the requestor‟s identity, making sure the client has permission to
access the data or resources requested, and correctly formatting or returning the required
response in the expected manner.

Types of Servers and Their Applications

1. Application Server

These servers host web apps (computer programs that run inside a web browser) allowing
users in the network to run and use them preventing the installation of a copy on their own
computers. These servers need not be part of the World Wide Web. Their clients are
computers with a web browser.

2. Catalog Server

These servers maintain an index or table of contents of information that can be found across a
large distributed network. Distributed networks may include computers, users, files shared on
file servers, and web apps. Examples of catalog servers are directory servers and name
servers. Their clients are any computer program that needs to find something on the network.
An example can be a domain member attempting to log in, an email client looking for an
email address, or a user looking for a file

3. Communication Server

These servers maintain an environment needed for one communication endpoint to find other
endpoints and then communicate with them. These servers may or may not include a
directory of communication endpoints and a presence detection service, depending on the
openness and security parameters of the network. Their clients are communication endpoints.

4. Computing Server

These servers share vast amounts of computing resources which include CPU and random-
access memory over a network. Any computer program that needs more CPU power and
RAM than a personal computer can probably afford can use these types of servers. The client
must be a networked computer to implement the client–server model which is a necessity.

5. Database Server

These servers maintain and share any form of database over a network. A database is an
organized collection of data with predefined properties that may be displayed in a table.
Clients of these servers are spreadsheets, accounting software, asset management software, or
virtually any computer program that consumes well-organized data, especially in large
volumes.

6. Fax Server

These servers share one or more fax machines over a network which eliminates the hassle of
physical access. Any fax sender or recipient is the client of these servers.

7. File Server

Shares files and folders, storage space to hold files and folders, or both, over a network.
Networked computers are the intended clients, even though local programs can be clients.

8. Game Server

These servers enable several computers or gaming devices to play multiplayer games.
Personal computers or gaming consoles are their clients.

9. Mail Server

These servers make email communication possible in the same way as a post office makes
snail mail communication possible. Clients of these servers are senders and recipients of
email.

10. Print Server


These servers share one or more printers over a network which eliminates the hassle of
physical access. Their clients are computers in need of printing something.

11. Proxy Server

This server acts as an intermediary between a client and a server accepting incoming traffic
from the client and sending it to the server. Reasons to use a proxy server include content
control and filtering, improving traffic performance, preventing unauthorized network access,
simply routing the traffic over a large and complex network. Their clients are any networked
computer.

12. Web Server

These servers host web pages. A web server is responsible for making the World Wide Web
possible. Each website has one or more web servers. Their clients are computers with a web
browser.

Where Are Servers Stored?

A server is stored in a closet or glass house. These areas help isolate sensitive computers and
equipment from people who should not access them.

Remote servers or the servers that are not hosted on-site are located in a data center. For these
types of servers, the hardware is managed by another company and configured remotely by
you or your company.

Why Are Servers Always On?

The servers are always on because they are commonly used to deliver services that are
constantly required, most servers are never turned off. Consequently, when servers fail, they
can cause network users and companies many problems. To alleviate these issues, servers are
commonly set up to be fault tolerant.

Can Any Computer Make A Server?

The answer is „Yes‟. Any computer act as a server with the right software. You may install an
FTP server program on computer and share files between other computers over your network.
But, you can make your home computer a server. you have to keep some important points in
your mind:

a. The computer and the related server software must be in a running mode that is
accessible at any time.
b. A computer is in server mode, its resources (like bandwidth and processing) will not
allow it to do any other things.
c. If the services become popular, which you are providing, a typical computer can not
be capable of handling all of the requests.

 Internet Information Server (IIS)


Internet Information Services (IIS), formerly known as Internet Information Server, is a web
server software developed by Microsoft. It is designed to host and deliver web content,
applications, and services on the Windows operating system. IIS provides a robust and
scalable platform for hosting websites, web applications, and services, supporting various
technologies such as ASP.NET, PHP, and HTML.

Internet Information Server


IIS offers a wide range of features and capabilities that enable efficient web hosting and
management. It supports multiple protocols including HTTP, HTTPS, FTP, FTPS, SMTP,
and more, allowing for secure communication and data transfer. IIS provides advanced
security features to protect websites and applications from unauthorized access and attacks,
including authentication mechanisms, SSL/TLS encryption, and request filtering.

With IIS, administrators have comprehensive control over web server configuration,
performance optimization, and monitoring. It offers features like application pools for
isolating applications, URL rewriting for modifying URL structures, and extensive logging
and monitoring tools for tracking server activity and performance.

IIS integrates seamlessly with other Microsoft technologies, such as the .NET framework,
Windows Server, and Active Directory, providing a cohesive and reliable environment for
hosting web applications and services. It offers scalability and load balancing capabilities to
handle high traffic and ensure optimal performance.

IIS is a powerful web server solution that provides the foundation for hosting and delivering
web content and applications on the Windows platform, offering security, scalability, and
flexibility for organizations of all sizes.

What is IIS Server?

An IIS server is a hardware or software server that can handle client requests for the World
Wide Web using the Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol
Secure (HTTPS), or one of the numerous other related protocols.

Internet Information Services (IIS) is a server role that comes pre-installed with all Microsoft
Windows Server editions. IIS components have lately been bundled with professional
versions of Microsoft's desktop operating system products, such as Windows 10 Pro;
nonetheless, IIS is normally installed and administered centrally on one or more Microsoft
Windows Servers.

Regardless of what device or operating system we use to browse the internet, we all deal with
web servers on a daily basis. When you type a URL into your favourite browser's address bar,
you're actually sending a request to the webserver that hosts the website you're trying to
access. The contents of the web page you asked to view are served to you as part of the server
response.

Apache and Internet Information Services (IIS) are the two most popular web server
applications. IIS is a server role configured on top of a licensed edition of Windows Server,
whereas Apache is an open-source installable application typically used on open system
platforms such as Linux.

How Does IIS Server Work?

As a web server, IIS has its own Process Engine, which handles all client-server requests. In
essence, a client submits a request to the server, which is then processed by IIS and returned
to the client. IIS's processing architecture is divided into two main layers:

1. Kernel Mode: Executed code has full access to all linked hardware and can run any
command it wants. Kernel Mode is mostly utilized for trustworthy applications.
Kernel Mode crashes are catastrophic for the entire system. HTTP.SYS is located in
Kernel Mode.
2. User Mode: Any code you run in this mode just commands that don't involve
accessing hardware or reference memory. This adds an extra layer of protection
against errors and allows for considerably faster recovery. When you run code in user
mode, the APIs are delegated to interface with the hardware and reference memory.
Web Admin Service, Virtual Directory, and Application Pool are all found in User
Mode.

How to Set Up an IIS Server?

The installation method for IIS is the same whether you're using Windows 7, 8, or 10.
Because IIS is a Windows feature, there isn't much to it when it comes to installation.

In Windows 10, all you have to do is go to the control panel and turn on or off the Windows
features you want. Alternatively, you can type "Turn win" into the Windows key at any time
to get a "best match" result with a link to "Turn Windows features on or off." This is a simple
way to get from the home screen to the control panel without having to go via the control
panel.

After you click the “Turn Windows features on or off” link, the “Windows Features”
dialogue box will appear, allowing you to turn on or off more Windows features. PowerShell
2.0, legacy components, media functionality, and much more are all included. From here, you
may also enable and disable IIS capabilities such as the FTP server, web management tools,
and World Wide Web services. You can expand each feature by clicking the plus symbol
next to it, for example, to access application development features. The Web Socket Protocol,
CGI, and ASP.NET can all be enabled here.

IIS vs. Apache

It's difficult to pick between IIS and Apache, mainly because both web servers have a fan
base as well as a zealous detractor. Furthermore, what appears to be an IIS vs. Apache
dispute frequently devolves into the Microsoft vs. Linux debate.
Apache Server

The Apache Software Foundation built the Apache HTTP Server, which is an open-source
server. It's freely distributed and editable, just like much other open-source software. The
application is always growing as a result of these ongoing user contributions, which is one of
the reasons it is so popular. Bugs are fixed by the community, typically in a very
collaborative manner, and updates are released on a regular basis.

Apache has the advantage of being able to run on any major operating system. It's most
typically used with Linux, and it's paired with the PHP scripting language and the MySQL
database to form LAMP. This is an all-in-one web server package.

Although Apache still accounts for a sizable portion of the web server market, its popularity
has waned as IIS has grown in popularity. Apache is a tool that may be used in a variety of
ways. PHP, Tcl, Perl, and Python are just a few of the common language interfaces it
supports.

IIS Server

IIS, sometimes known as Microsoft IIS Server, is a web server that exclusively runs on the
Windows operating system. It is, however, completely free to use, which is a significant
advantage. The only true disadvantage of IIS is that it is a closed Microsoft product, which
isn't always a negative thing. IIS has a lot of support and resources because Microsoft is
behind it.

Since 2010, Microsoft IIS has witnessed significant advances, resulting in a steady increase
in its market share, from 21% in 2010 to 32% in 2014. That is an increase of 11% in just four
years. This, we believe, demonstrates its dependability. This is an application with a growing
market share, whereas Apache's market share, while still significant, is shrinking. During the
same time period, Apache's market share fell by 17%.

IIS's popularity stems from its wide support for Microsoft technologies such as the .NET
framework and ASPX scripting. IIS is likely to be the favoured alternative for those of you
whose sites rely on .NET or ASPX. IIS also includes outstanding diagnostic tools, including
request tracking failures, request monitoring, runtime data, and virtual hosting support.

 Personal Web Server (PWS)


A personal web server (PWS) is a type of server used in computers and other devices. This
tool helps to host a website, allowing individuals to share their website content to others.
PWS is an excellent tool for the tech-savvy community who want to learn about basic
networking, web design, and web development.

Personal web servers can be installed on any computer at home or in the office. This tool
allows users to share their content on the internet without relying on third-party web hosting
services. It is a great way to have complete control over the data, prevent data loss, and
security breaches. It is also cost-effective since individuals can run web servers on their
existing hardware, which can be an old computer or laptop.
One of the key features of PWS is its ability to allow multiple users to access web pages at
the same time. This means that users can host their web pages to share content with
individuals or groups who are interested in their content. PWS also supports server-side
scripting languages like PHP, which enables the creation of dynamic web pages. CGI, PERL,
and ASP are additional programming languages that PWS supports, making it an ideal tool
for web developers looking to hone their skills.

Another essential feature of personal web servers is FTP (File Transfer Protocol). This tool is
used to transfer files between the user‟s computer and the web server. Through FTP, users
can upload their website files, images, videos, and other media files onto their personal
server.

Lastly, PWS has some limitations as to how much traffic and load management it can handle
due to its hardware capacity. Hence, it is recommended for a small-scale online presence.
However, it is still an excellent tool for those who are just starting to learn about creating
personal web pages and web development. It is a great alternative to paid web hosting
services for those who are not ready to invest amounts in professional-grade web hosting
solutions.

Personal web servers are available for Windows, Linux, and Mac operating systems. Apache
web server is the most popular PWS, and it is open-source, meaning it is free to use, edit and
distribute.

In conclusion, personal web servers are an excellent tool for anyone interested in creating and
sharing their web content with others. It is a great way to take control of website content and
hosting without the need for a third-party hosting service. With its features and low cost,
anyone can learn web development and hosting and create their presence on the internet.

Benefits of Using Personal Web Server (PWS)

Now that we understand what a Personal Web Server is, let‟s explore its advantages and why
you might consider utilizing one for your website:

1. Complete Control: With a PWS, you have full control over the management and
customization of your website. You can install any web application, software, or
content management system (CMS) of your choice, allowing you to tailor your
website to your specific needs and preferences.
2. Cost-effectiveness: By using a Personal Web Server, you eliminate the need for
external hosting services, which can often come with recurring costs. Hosting your
website on your personal computer offers a cost-effective solution, especially for
individuals on a limited budget.
3. Development and Testing Sandbox: PWS provides an excellent environment for
web developers to test and experiment with different website configurations before
deploying changes to a live website. This sandbox-like setup allows you to iron out
any issues and ensure a smooth experience for your visitors.
4. Privacy and Security: As you have direct control over your website‟s hosting, you
can implement robust security measures to protect your data and visitors‟ information.
This level of privacy and security is particularly crucial for websites dealing with
sensitive data or those prioritizing user confidentiality.
 Static website vs Dynamic website development
Static Website: In Static Websites, Web pages are returned by the server which are
prebuilt source code files built using simple languages such as HTML, CSS, or
JavaScript. There is no processing of content on the server (according to the user) in
Static Websites. Web pages are returned by the server with no change therefore, static
Websites are fast. There is no interaction with databases. Also, they are less costly as
the host does not need to support server-side processing with different languages.

Note: Static does not mean that it will not respond to user actions, These Websites are called
static because these cannot be manipulated on the server or interact with databases (which is
the case in Dynamic Websites).

Dynamic Website: In Dynamic Websites, Web pages are returned by the server which are
processed during runtime means they are not prebuilt web pages but they are built during
runtime according to the user‟s demand with the help of server-side scripting languages such
as PHP, Node.js, ASP.NET and many more supported by the server. So, they are slower than
static websites but updates and interaction with databases are possible.

Dynamic Websites are used over Static Websites as updates can be done very easily as
compared to static websites (Where altering in every page is required) but in Dynamic
Websites, it is possible to do a common change once and it will reflect in all the web pages.
Architecture of Dynamic Website

Difference Between Static and Dynamic Websites:

Static Website Dynamic Website


Content of Web pages can not be change at
Content of Web pages can be changed.
runtime.
No interaction with database possible. Interaction with database is possible
It is faster to load as compared to dynamic
It is slower than static website.
website.
Cheaper Development costs. More Development costs.
No feature of Content Management. Feature of Content Management System.
HTML, CSS, Javascript is used for developing Server side languages such as PHP, Node.js
the website. are used.
Same content is delivered everytime the page is Content may change everytime the page is
loaded. loaded.

You might also like