Web History: Internet & Browsers Explained
Web History: Internet & Browsers Explained
Concept of Internet
WEB BROWSERS
What is a Web Browser?
In simple words, a web browser is an application through which we can access websites on the World Wide Web (www). It
provides users a medium using which they can interact with a web server as it fetches the data and displays it as a web page.
We always use Chrome for browsing websites in our daily lives. Well, Chrome is one of the most popularly used web
browsers.
In today’s time, there are various different web browsers available. Each web browser has some unique characteristics and
is distinguished depending on features like speed, security, extensions, etc. Right now, Google Chrome is the most used
browser in the world, however, there are some other popular browsers being used like Mozilla Firefox, Opera, Microsoft
Edge, etc.
Functions of a Web Browser
A web browser is a medium through which you can basically access different websites.
The main function of a web browser is to provide an interface to the user for sending requests and fetching
data/information from the web servers.
It also displays the information to the user including multimedia elements (images and videos) in the form of
webpages, using CSS and JavaScript.
A web browser acts as a platform to access various websites. Users can visit different websites by just entering the
URL of the website on the web browser.
Browsers also have navigation features like a navigation bar, tabs, and other tools which make surfing the net easier.
One can also open multiple web page at the same time, reload, and navigate forward and backward between web
pages.
Another function of web browsers is to ensure secure and safe access to websites. This is accomplished by pop-up
warnings, scanning for malicious software and other safety measures.
The functionality of browsers can also be improved by adding extensions or plugins to the browser. Most commonly
installed extensions include AdBlock, Calendar and other constructive tools.
The data accessed by a user frequently is stored by the web browsers in the form of cache. This saves the loss of data
and time while accessing the data again and again.
Features of Web Browser
A web browser consists of several features which provide a user-friendly environment in a browser. Some of the features are
listed below:
Home Page: Whenever we open a browser, the first web page which loads is called the home page. Although the
home page of a browser has some default setting, it can be changed according to user’s preference.
Address (URL) Bar: The URL of the website that has to be accessed is entered here. Through this bar user can
access different websites or search anything on browser.
Navigation Buttons: Using the forward and backward buttons user can revisit previously opened web pages. These
buttons provide convenience to retrieve data previously accessed.
History: If you visited a website and want to revisit it after a few days but have forgotten the address of website then
don’t worry as every browser has a history where it collects all previously visited data. This is a very handy feature to
revisit websites.
Bookmark: This feature helps in quickly accessing websites. If you come across some important web page you can
always bookmark it for easy access in future.
Refresh Button: The refresh button reloads the page and shows updates if any.
Home Button: It brings the user to home page which can be set by user.
Tabbed Browsing: Using this feature a user can open multiple web pages in the same web browser so that they can
easily switch between them.
Extensions: Extensions or plugins (like AdBlock) can be installed by the user. These extensions help in improving
functionality of web browsers.
These are some of the basic features you will find in most of the browsers. Let’s look into a few unique features of the most
popularly used web browsers
Chrome:
Chrome is the most used web browser because of its attractive browsing features. One of them is that it has made accessing
data from any device convenient. This is possible as it allows to sync user’s browsing data, passwords, history by logging
with their Google account. Apart from this chrome also provides faster speed and easy to use interface.
Mozilla Firefox:
Mozilla Firefox provides a wide library of add-ons or extensions and also allows to customize the interface of the browser
to a great extent. Along with this, Mozilla Firefox pays special attention to user’s privacy policies.
Opera:
It is the first Chromium-based browser that uses a Multithreaded Compositor. It has a built-in VPN feature which is useful
in maintaining user’s privacy.
Safari:
Safari has adopted all the possible measures to protect the user’s data and information. It includes a private browsing mode,
offline reading list, intelligent tracking prevention, a customizable start page, supports gestures for easy navigation to ensure
great user interface experience.
Microsoft Edge:
You might find Edge pre-installed in Windows 10 and 11 devices. It also has user friendly interface and is integrated with
other Microsoft services. Other features like collections and web capture are causing its popularity gain.
By now we can understand how a web browser’s features and functions provide users a quick and easy access to different
web pages across the browser.
Browser Architecture
Browser architecture is designed to provide a faster, more secure, and more feature-rich platform that helps users interact
easily with the internet. The browser architecture is broadly divided into seven parts.
User Interface
This is the user interface for the browser. It includes the Address Bar, back button, Bookmarking options, Refresh button,
etc.
The browser’s user interface is not specified in any formal specification, but comes from practices shaped over decades of
experience (and browsers copying each other).
As a result, all browsers have UIs that are extremely similar to each other.
The Browser Engine
The browser engine marshals actions between the browser’s user interface and the browser’s rendering engine.
When you type in a new website and press the enter key, the browser UI will tell the browser engine, which will then
communicate with the rendering engine.
The browser engine is responsible for coordinating web content that is fetched from the server and user interactions. It
keeps a note of which button is clicked, which URL is asked to parse, and how the web content will be processed and
displayed on the browser.
The Rendering Engine
The rendering engine is responsible for displaying the requested content.
The rendering engine will start by getting the contents of the requested document from the networking layer.
It takes in the HTML code and parses it to create the DOM (Document Object Model) tree.
The rendering engine will then parse the CSS to build the CSSOM (CSS Object Model). It’s like the DOM, but for the CSS
rather than the HTML.
While the CSS is being parsed and the CSSOM is being created, the browser is downloading other assets through the
Network Layer like JavaScript files.
The rendering engine communicates with the JavaScript engine to execute the JavaScript code and manipulate the DOM
and CSSOM.
The rendering engine then takes the DOM and the CSSOM and combines them to create the Render tree.
The rendering engine then uses the UI backend for laying out the website on the screen and finally painting the pixels to the
screen.
The entire process that the rendering engine goes through is called the Critical Rendering Path.
Examples of rendering engine include
Safari - WebKit Rendering Engine
Chrome - Blink Rendering Engine (Blink is a fork of WebKit)
Firefox - Gecko Rendering Engine
Here’s a more detailed look at the flow for WebKit
Networking Layer
This layer handles the communication part. When the user enters or clicks on a URL, the network layer initiates an HTTP
request to the webserver to load the requested web page.
It also manages fetching resources from HTML files, images, stylesheets, and more.
Have you seen those cookie notifications while searching for information on the internet? Mostly, the network layer
works behind the scenes for those cookies and cache.
JavaScript Engine
The JavaScript Engine is used to parse and execute JavaScript code on the DOM or CSSOM. The JavaScript code is
provided by the web server, or it can be provided by the web browser (browser extensions or features of the browser like
automatic ad-blocking).
Early browsers used JavaScript interpreters, but modern JavaScript engines use Just-In-Time compilation for improved
performance.
Examples of JavaScript Engine include
Chrome - V8 JavaScript Engine
Safari - JavaScriptCore
Firefox - SpiderMonkey Engine
UI Backend
This layer is responsible for drawing the basic widgets like select or input boxes and windows. Underneath it uses operating
system UI methods.
The rendering engine uses the UI backend layer during the layout and painting stages to display the web page on the
browser.
Data Storage
The browser needs to save data locally (cookies, cache, etc.) so the Data Storage component handles this part.
A large part of the browser goes into storing various types of data, which include not only user preferences, browsing
history, passwords, and other regular data updates as well (address, name, and contact).
Modern browsers also support storage mechanisms like localStorage, IndexedDB, and FileSystem.
Getting Started with Web Design
What is Web Design?
Web design is the process of creating websites and web pages that combine aesthetics and functionality to provide a user-
friendly experience. It involves a wide range of elements such as layout, colour scheme, typography, and imagery, all
orchestrated to convey a specific message or facilitate certain actions.
As an integral part of the digital landscape, web design combines technical skills with creative vision to produce websites
that meet or exceed user expectations.
4. Colour Theory
The next web design principle we will learn is Colour theory, It is the study of using colours in order to convey an emotion,
create a visual effect, or change human perception is known as Colour Theory.
Within Web Design, Colour Theory will be crucial when you will design your projects because using
colours irresponsibly may lead to miscommunicating our message or communicating the wrong message. Colour theory
helps us to start our colour palettes. It's an important foundation to understand for creating beautiful colour palettes and
foundational for a professional-looking design.
5. Typography
Typography simply is a technique in user interface design to create readable, appealing, attractive, and easy-to-eye text
for users to read. Typography plays an integral role in any website's design. Other than the visual elements, text is the
most important form to communicate with the users, sometimes, text is even more important than the visuals itself.
Therefore, we as user interface designers must focus on this aspect of UI design. Good typography is soothing to the eyes
and creates a long-lasting impression on the minds of the user.
Choosing the right tools for Web Design is crucial, the tools you use will define how flexible you are with your designing
skills so make sure to choose them wisely, few of the most popular web designing tools are:
Adobe Photoshop
Figma
Adobe Illustrator
Canva
Sketch
Wix
Adobe Indesign
Affinity Designer
7. Responsive Design
Responsive design is a method of designing where you design and develop your website or app which would adjust itself
accordingly to various screen sizes. You as designer must learn how to implement responsive design since it is no more a
best practice but essential for the success for the website or application since now most of the visitors to websites come
from smaller screen devices.
Coding refers to write a set of programs in programming languages that would bring your design into a real software
product. It is not expected from you as a designer to code your websites and applications but having basic knowledge of
coding languages such as HTML, CSS, JavaScript really helps in understanding how the design you created will
eventually be implemented.
HTML
Short for hypertext markup language, HTML is what you'll use to build the structure of a webpage. With this tool, you
can learn how to perform these functions and more:
• Insert headings, lists, tables, spreadsheets, and photos into web page copy
• Add hypertext links so users can move quickly to another web page
• Design forms for user interactions like ordering products or making reservations
• Incorporate applications like video clips and sound clips into web page copy
CSS
As HTML provides structure to your web page, cascading style sheets (CSS) is the computer language that gives it style.
With this tool, you can change fonts, adjust color, modify backgrounds, and more.
JavaScript
JavaScript (JS) is a scripting language used with HTML and CSS to make web pages more interactive. With JavaScript,
you can generate and control elements of web pages like photo slideshows, interactive forms, and animated graphics.
Website Design Principles
An effective website design should fulfil its intended function by conveying its particular message whilst simultaneously
engaging the visitor. Several factors such as consistency, colours, typography, imagery, simplicity, and functionality
contribute to good website design.
1. WEBSITE PURPOSE
Your website needs to accommodate the needs of the user. Having a simple clear intention on all pages will help the user
interact with what you have to offer. What is the purpose of your website? Are you imparting practical information like a
‘How to guide’? Is it an entertainment website like sports coverage or are you selling a product to the user? There are many
different purposes that websites may have but there are core purposes common to all websites;
1. Describing Expertise
2. Building Your Reputation
3. Generating Leads
4. Sales and After Care
2. SIMPLICITY
Simplicity is the best way to go when considering the user experience and the usability of your website. Below are ways to
achieve simplicity through design.
Colour
Colour has the power to communicate messages and evoke emotional responses. Finding a colour palette that fits your
brand will allow you to influence your customer’s behaviour towards your brand. Keep the colour selection limited to less
than 5 colours. Complementary colours work very well. Pleasing colour combinations increase customer engagement and
make the user feel good.
Type
Typography has an important role to play on your website. It commands attention and works as the visual interpretation of
the brand voice. Typefaces should be legible and only use a maximum of 3 different fonts on the website.
Imagery
Imagery is every visual aspect used within communications. This includes still photography, illustration, video and all forms
of graphics. All imagery should be expressive and capture the spirit of the company and act as the embodiment of their
brand personality. Most of the initial information we consume on websites is visual and as a first impression, it is important
that high-quality images are used to form an impression of professionalism and credibility in the visitors’ minds.
3. NAVIGATION
Navigation is the wayfinding system used on websites where visitors interact and find what
they are looking for. Website navigation is key to retaining visitors. If the website
navigation is confusing visitors will give up and find what they need elsewhere. Keeping
navigation simple, intuitive and consistent on every page is key.
6. CONTENT
An effective website has both great design and great content. Using compelling language great content can attract and
influence visitors by converting them into customers.
7. GRID BASED LAYOUT
Grids help to structure your design and keep your content organised. The grid helps to
align elements on the page and keep it clean. The grid-based layout arranges content into a
clean rigid grid structure with columns, sections that line up and feel balanced and impose
order and results in an aesthetically pleasing website.
8. LOAD TIME
Waiting for a website to load will lose visitors. Nearly half of web visitors expect a site to load in 2
seconds or less and they will potentially leave a site that isn’t loaded within 3 seconds. Optimising
image sizes will help load your site faster.
9. MOBILE FRIENDLY
More people are using their phones or other devices to browse the web. It is important to consider
building your website with a responsive layout where your website can adjust to different screens.
WEB APPLICATION AND DEVELOPMENT TOOLS
What is Web Development?
Web development stands for building, designing, and managing websites and web apps for the internet. It needs different
programming languages, frameworks like Jest, Cypress, Puppeteer, etc. and tools like React Native, Jenkins, Circle CI, etc.,
which aids in making responsive, visually appealing, and user-friendly websites.
Web development typically encompasses three main components:
Front-end Development
Back-end Development
Database Management
Who are Web Developers?
Web developers are responsible for designing, creating, and testing the performance of the websites with their coding
knowledge. So, to become a web developer, it’s essential to know some popular front-end and back-end web programming
languages like HTML, CSS, JS, and more.
Since web application development is a dynamic field that evolves continuously, a web developer’s role is a highly
demanding job throughout the world. The current web development trend includes technologies like – IOT, voice search,
machine learning, cyber-security, artificial intelligence, cloud technology, and more.
Types of Web Development Tools
Web development tools help developers build, test, deploy, and user-friendly websites. There are different types of tools you
can choose in this regard. They often include frameworks and libraries that provide a foundation for building web
applications.
Front-end tools: You should use these tools for front-end like client-side webs. That means the user interface.
Back-end tools: You can use these tools for the back-end portion with server-side logic – DBs, APIs, etc.
IDEs: They come with features for the source code and text editing. Also, it provides different plug-ins and tools.
Project management/collaborative tools: They work as a version control system for your project.
1. PHP: PHP is a popular back-end web development tool and language. You can use it with CMS (Content
Management System) software including WordPress, Jumla, etc. as well. It helps you to enlarge your web by
implementing your plug-ins.
You can embed it easily with HTML, CSS, and other front-end tools. PHP is highly scalable and free to use. Also, it
integrates with several popular DBs – MySQL, Oracle, MS SQL Server, etc.
2. Python
It’s an easy back-end programming language with simple syntaxes. That’s why it grabs a large share of the web
development industry. It’s a cross-platform language that supports different languages like C, Java, etc. Also, it helps in
data visualization, and analytics, as well.
The Selenium Python combination creates great test scripts for automation, cross-browser, and parallel testing. It’s free
and open-source. You can try new types of apps with this. Thus, it increases productivity.
3. JavaScript: JS is a popular web development language. Every front-end developer must know this language along
with HTML and CSS. Not in development, but it also supports unit testing.
You can use different JS testing frameworks like [Link], Mocha, Jest, etc. for this purpose. It increases the speed of code
execution and reduces the server load as it’s a client-side script itself.
4. [Link]: It is an open-source, cross-platform runtime environment for JS. The developers use it for server-side web
application development. [Link] easily builds real-time and data-intensive webs. A [Link] developer gives you fast
prototype delivery, on-time releases and real-time apps. Thus, it saves extra time, money, and resources.
5. Django: It’s a well-known back-end web development framework. Specifically, you can use it for Python
programming. It includes features like scalability, flexibility, extensibility, and more. You can write and run unit tests
with Django’s test execution framework.
These unit tests use the Python standard library. Also, it provides great controls over content delivery networks. As a
result sites like Netflix provide multimedia to serve the contents rapidly.
6. Ruby on Rails: It’s a powerful full-stack framework that comes with distinct features like- an active record for
connecting apps’ databases, modifying SQL queries, and more. A Rails app has three environments – development,
testing, and production. Rails create a test directory for the QAs.
RoR is totally free of cost and provides free plug-ins. You can easily modify codes and add new features through this
framework. You can easily remove bugs when you test your codes through this framework.
7. Laravel: Laravel is a framework for web development using PHP. It supports data migrations, routing, validation,
views, Blade templates, and more. It supports unit testing through [Link] files and provides a configuration
environment for your tests. The Laravel package comes with pre-built user authentication and authorization, cross-site
screening, simplified email integrations, message systems, and more. Also, it gives high performance under heavy traffic
loads.
8. [Link]: It’s a web development platform with [Link]. You can create single-page, multi-page, and hybrid web
apps with this framework. It provides faster I/O, handles asynchronous, single treads, and manages servers, routes, and
more. It supports unit, integration, and end-to-end testing. You can scale your application quickly and use JS for both
front-end, back-end developments with this framework. It gets support from Google v8 engine, which increases its
performance.
1. MS Visual Studio Code: It’s a free, open-source, cross-platform, and language-supporting code editor. It helps you
to run and debug codes with intelligence, built-in Git commands, deploy with MS Azure, etc. Also, it provides
professional test subscriptions with test case management, continuous testing, delivery, records, etc
2. Sublime Text: It’s a pure text editor that comes with a Python interface. It supports Markup and other programming
languages. It provides customization with JSON configuration files. Another important thing is – it supports split
editing (dividing the webpage into different sections).
3. Atom: The GitHub community built this open-source, free, desktop app. Generally, it edits text and source codes. It’s
a cross-platform editor and provides built-in Git control and multi-cursor plug-ins. It’s written in JS, HTML, Less,
etc.
4. WebStorm: It handles complex server-side and client-side [Link] development. Also, provides coding support for
different JS frameworks, and built-in tools for debugging, and testing the [Link] apps. Again, it supports features
like – smart code insights, [Link] built-in tools, auto-completion, etc.
5. Eclipse: It’s a free, open-source IDE for Java developers. Also, it supports JUnit tests and Maven projects. It provides
different tools and frameworks related to non-software development. Some of them are – web tools, data tools, test
and performance tools, etc.
• The basic feature of HTTP protocol is that it follows the request response model.
• The client makes a request for desired web page by giving the URL in the address bar. This request is submitted to
the web server and then web server gives the response to the web browser by returning the required web page.
<Start line>
<Header fields>
<Blank Line>
<Message Body>
<start Line>
The start line consists of three parts which are separated by a single space. These parts are -
(i) Request Method : Various methods used for making the request are enlisted in the following table
HTTP Description
method
GET The GET method is used to retrieve information from a specified URI and is assumed to be a
safe, repeatable operation by browsers.
POST The POST method is used to request the server for desired web page and the request made is
accepted as a new subordinate of the resource identified. The POST method is used for
operations that have side effects and cannot be safely repeated. For example, transferring money
from one bank account to another has side effects and should not be repeated without explicit
approval by the user.
HEAD The HEAD method is identical to GET. The only difference is that the server should not return a
message-body in the response. The meta-information contained in the HTTP headers in
response to a HEAD request should be similar to the information sent in response to a GET
request.
OPTION This method supports for the specified URL. It can be used to check the functionality of a web
server by requesting '*' instead of a specific resource.
PUT This method uploads a representation of the specified resource.
DELETE This method is useful in deleting the specified resource.
TRACE When request is made using TRACE method the server echoes back the received request so that
a client can see what intermediate servers are adding or changing in the request.
(ii) Request-URI:
The Uniform Resource Identifier (URI) is a string used to identify the names or resources on the Internet.
The URI is a combination of URL and URN.
The URL stands for Uniform Resource Locator and URN stands for Uniform ResourceName.
The web address denotes the URL and specific name of the place or a person or item denotes the URN. For example
urn : ISBN 978-81-8431-123-2
specifies the address of some book.
If the URI is written in the form of http: then it is both an URI and URL but there are some other URI which can also be
used as URL. For example
URL Intended server
The first HTTP version was HTTP/0.9 but the official version of HTTP was HTTP/1.1
History of HTTP
Tim Berners Lee and his team at CERN get credit for inventing original HTTP and associated technologies.
• HTTP version 0.9: This was the first version of HTTP which was introduced in 1991.
• HTTP version 1.0: In 1996, RFC 1945 (Request For Comments) was introduced in HTTP version 1.0.
• HTTP version 1.1: In January 1997, RFC 2068 was introduced in HTTP version 1.1. Improvements and updates to
the HTTP version 1.1 standard were released under RFC 2616 in June 1999.
• HTTP version 2.0: The HTTP version 2.0 specification was published as RFC 7540 on May 14, 2015.
• HTTP version 3.0: HTTP version 3.0 is based on the previous RFC draft. It is renamed as Hyper-Text Transfer
Protocol QUIC which is a transport layer network protocol developed by Google.
Blank Line
<Status line>
<Header fields>
<Blank Line>
<Message Body>
<Status Line>
Status line is similar to the start line in the request message. It consists of three fields.
The HTTP version denotes the HTTP version such as HTTP/1.1. The status code is a numeric code indicating the type of
response. The reason phrase is in the text string form and presents the information about the status code.
For example
<Header Fields>
The header field in response message is similar to that of request message.
<Message Body>
The message body consists of response message. For example,
1. World Wide Web (WWW): The World Wide Web can further be classified into several different technologies. They
are web browsers, Hyper Text Markup Language (HTML), and Hypertext Transfer Protocol (HTTP).
2. Web Browser: This application software helps explore the World Wide Web (WWW). It provides the user interface
between the client and the server. The web browser also requests the server for web documents and services.
3. Web Server: It is a program that acts upon the network request of the user and serves them with the files that help
open the web page. The exchange of files takes place with the help of the Hypertext Transfer Protocol (HTTP).
4. Web Pages: A web page is the digital document’s front-end linked to the World Wide Web. It can be viewed by
anyone having an internet connected web browser.
5. Web Development: Web development is everything about building and maintaining websites. It contains web
services, including web programming, web publishing, web design, and database management.
Here are some key points highlighting the importance of web technology:
1. Global Reach: The Internet and web technology allow businesses to reach a worldwide audience with their products
and services.
2. Cost-Effective: Web technology enables businesses to reduce costs by automating processes, improving efficiency,
and reducing the need for physical infrastructure.
3. Improved Communication: Web technology facilitates communication and collaboration across organizations and
geographies, enabling better knowledge sharing and decision-making.
4. Enhanced Customer Experience: Web technology allows businesses to provide a more personalized, interactive,
and engaging customer experience.
5. Access to Data: Web technology provides vast amounts of data that can be used for analysis, insights, and informed
decision-making.
6. Mobile Access: Web technology enables businesses to reach customers through mobile devices, which have become
increasingly important in people's lives.
7. Innovation: Web technology drives innovation by providing a platform for new products, services, and business
models.
8. Social Impact: Web technology can improve social and economic outcomes by providing access to education,
healthcare, and other essential services.
• Overall, web technology is a critical enabler of the digital economy, driving growth, innovation, and social progress.
Web Development can be classified into two ways:
• Frontend Development: The part of a website that the user interacts directly is termed as front end. It is also referred
to as the ‘client side’ of the application.
• Backend Development: Backend is the server side of a website. It is the part of the website that users cannot see and
interact. It is the portion of software that does not come in direct contact with the users. It is used to store and arrange
data.
Frontend Languages: The front-end portion is built by using some languages which are discussed below:
• HTML: HTML stands for Hypertext Markup Language. It is used to design the front-end portion of web pages using
a markup language. HTML is the combination of Hypertext and Markup language. Hypertext defines the link
between the web pages. The markup language is used to define the text documentation within the tag which defines
the structure of web pages.
• CSS: Cascading Style Sheets fondly referred to as CSS is a simply designed language intended to simplify the
process of making web pages presentable. CSS allows you to apply styles to web pages. More importantly, CSS
enables you to do this independent of the HTML that makes up each web page.
• JavaScript: JavaScript is a famous scripting language used to create magic on the sites to make the site interactive
for the user. It is used to enhancing the functionality of a website to running cool games and web-based software.
• AJAX: Ajax is an acronym for Asynchronous Javascript and XML. It is used to communicate with the server without
refreshing the web page and thus increasing the user experience and better performance.
There are many other languages through which one can do front-end development depending upon the framework for
example Flutter user Dart, React uses JavaScript and Django uses Python, and much more.
[Link] Technologies Name Developed Year Famous App Built
• LinkedIn
1. HTML Initial release -1993 • Google
• Docs
• Facebook
2. CSS Initial release – 1996 • Google
• Slides
• Netflix
3. JavaScript Initial release -1995 • Candy Crush
• Facebook
• Skype
4. React JS Initial release – 2013 • Airbnb
• Uber Eats
• Gmail
Angular JS JavaScript Web
5. Initial release – 2010 • PayPal
Framework
• Upwork
• Grammarly
6. Vue JS Initial release – 2014 • GitLab
• Trivago
• Duolingo
7. TypeScript Initial release – 2012
• Netflix
• Instacart
8. Bootstrap Initial release – 2011
• Apple Maps
• Trello
9. Backbone JS Initial release – 2010
• Airbnb
Backend Languages: The back-end portion is built by using some languages which are discussed below:
• PHP: PHP is a server-side scripting language designed specifically for web development. Since PHP code executed
on the server-side, so it is called a server-side scripting language.
• [Link]: [Link] is an open-source and cross-platform runtime environment for executing JavaScript code
outside a browser. You need to remember that NodeJS is not a framework, and it’s not a programming language. Most
people are confused and understand it’s a framework or a programming language. We often use [Link] for building
back-end services like APIs like Web App or Mobile App. It’s used in production by large companies such as Paypal,
Uber, Netflix, Wallmart, and so on.
• Python: Python is a programming language that lets you work quickly and integrate systems more efficiently.
• Ruby: Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. Ruby is a pure
Object-Oriented language developed by Yukihiro Matsumoto. Everything in Ruby is an object except the blocks but
there are replacements too for it i.e procs and lambda. The objective of Ruby’s development was to make it act as a
sensible buffer between human programmers and the underlying computing machinery.
• Java: Java is one of the most popular and widely used programming languages and platforms. It is highly scalable.
Java components are easily available.
• JavaScript: JavaScript can be used as both (front end and back end) programming.
• Golang: Golang is a procedural and statically typed programming language having the syntax similar to C
programming language. Sometimes it is termed as Go Programming Language.
• C#: C# is a general-purpose, modern and object-oriented programming language pronounced as “C sharp”.
• DBMS: The software which is used to manage database is called Database Management System (DBMS).
• Netflix
1. JavaScript JS Initial release -1995 • Candy Crush
• Facebook
• WordPress
2. PHP Initial release – 1995 • Wikipedia
• Yahoo!
• Instagram
3. Python Initial release -1991 • Google
• Spotify
• NASA WorldWind
4. Java Initial release -1995 • Jenkins
• Hadoop
• Good Reads
Ruby On
5.
Rails
Initial release -1995 • Airbnb
• GitHub
PHP:
• Framework: Laravel
• CMS: WordPress
NodeJS:
• Framework: Express
Python:
• Framework: Django
• Package Manager: Python PIP
Ruby:
Java:
C#:
• Framework: .NET
Database:
In web technology, a database is a structured collection of data that is stored electronically and accessed via a
web application.
It serves as the backend component where data is stored, managed, and retrieved. Databases can be relational (like
MySQL, PostgreSQL) using structured tables and SQL for queries, or non-relational (like MongoDB, CouchDB)
which store data in flexible, document-oriented formats.
They enable web applications to handle dynamic content, user data, transactions, and more by providing efficient
storage, retrieval, and manipulation capabilities.
Database management systems (DBMS) are used to interact with the database, ensuring data integrity, security,
and performance.
1. Relation Database:
A relational database stores data in tables, similar to a spreadsheet, where each table has rows and columns.
The rows hold individual records, and the columns define the data attributes. Tables can be linked to each other through
special keys, allowing related data to be connected.
• Postgre SQL: PostgreSQL is a powerful, open-source relational database that supports advanced SQL features
and complex queries. It handles structured data, ensures ACID compliance, and is known for its reliability and
extensibility.
• MariaDB: MariaDB is an open-source relational database that evolved from MySQL, offering improved
performance, security, and features. It supports SQL queries, ACID compliance, and is highly compatible with
MySQL.
• MySQL: MySQL is an open-source relational database management system that uses SQL for managing
structured data. It’s known for its reliability, ease of use, and performance, widely used in web applications.
2. NoSql Database:
A NoSQL database stores data in a flexible, non-tabular format, unlike traditional relational databases.
Instead of using tables with rows and columns, NoSQL databases might use documents, key-value pairs, wide-columns,
or graphs to store data.
This allows them to handle large amounts of unstructured or semi-structured data efficiently. They are designed to scale
easily and manage big data applications.
MongoDB: MongoDB is perhaps one of the most popular NoSQL databases in 2022. It was the first document
database management software released way back in 2009. MongoDB was created to tackle the challenges of loading
and accessing data in RDBMS using object-oriented programming languages. It is primarily used to handle document
data.
Cassandra: Apache Cassandra is an open-source NoSQL database that is used for handling big data. It has the
capability to handle structure, semi-structured, and unstructured data.
• Redis: Redis is an in-memory NoSQL database known for its speed. It supports various data structures like strings,
hashes, and lists, making it ideal for caching, real-time analytics, and messaging.
Data Format
Format of data is used by web applications to communicate with each other. It is light weight text based data
interchange format which means, it is simpler to read and write.
Below are two common data formats used in web development:
• XML: Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents
in a format that is both human-readable and machine-readable.
• JSON: JSON or JavaScript Object Notation is a format for structuring data.
API: API is an abbreviation for Application Programming Interface which is a collection of communication protocols
and subroutines used by various programs to communicate between them.
Web Protocols
Web protocols are set of rules followed by everyone communicating over the web.
• HTTP: The Hypertext Transfer Protocol (HTTP) is designed to enable communications between clients and servers.
HTTP works as a request-response protocol between a client and server. A web browser may be the client, and an
application on a computer that hosts a web site may be the server.
• Other Protocols:
• TCP/IP Model
• UDP
• FTP
• SMTP
• SOAP
Graphics
Graphical elements are one of the key features of any webpage. They can be used to convey important points better
than text does and beautify the webpage.
• Canvas: The HTML “canvas” element is used to draw graphics via JavaScript.
• SVG: SVG stands for Scalable Vector Graphics. It basically defines vector-based graphics in XML format.
About IIS
IIS stands for Internet Information Services (IIS, formerly known as Internet Information Server) IIS is a web server
software package designed for Windows Server.
IIS Manager console of Internet Information Services 8.5 initial release on May 30, 1995.
IIS provides a redesigned WWW architecture that can help you achieve better performance, scalability, reliability, and
security for our Web sites.
IIS is used to host an application over Web Server and is accessible from client systems via a web browser.
Internet Information Services, also known as IIS, is a Microsoft web server that runs on Windows operating system and is
used to exchange static and dynamic web content with internet users.
IIS can be used to host, deploy, and manage web applications using technologies such as [Link] and PHP.
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. [Link] 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.
• Kernel Mode's job is to take requests from clients and route them to an application pool using [Link]. This
occurs when a client seeks access to a page by clicking or typing the site URL. These requests are captured by
[Link], which creates a queue for each application pool.
• Processing has commenced, as seen by the launch of [Link]. The HttpRuntime process creates
a pool of HttpApplication objects that are subsequently sent over HTTP. HTTP Modules are kept active until the
request reaches the [Link] page's HTTP handler. The page loads after the request has travelled through the HTTP
route.
• The Worker Process and the Application Pool are two important concepts in the world of IIS, as you can see.
• The Application Pool serves as a container. It houses the Worker Process and separates several applications from one
another. This is true whether they are hosted on a single server or a cluster of servers. Multiple websites can be
contained in a single application pool. An application pool, to put it another way, is a collection of URLs that have
been served by worker processes. Separating applications simplifies management and assures that if one application
pool encounters an error, the others are not affected.
Characteristics of IIS
• Componentization: Reducing surface area is one of the most powerful ways to secure a server system.
• Extensibility: Extending IIS enables Web applications to benefit from functionality that in many cases cannot be
easily provided at the application layer.
• Build custom: We can add custom features to extend or replace any existing functionality using your own or third
party server components built on the new extensibility APIs.
• Database Manager: IIS Database Manager provides the ability to connect to any database on the network.
• Web Platform Installer: The best one for end website users. The web platform installer is a gallery of the popular
software installation.
Features of IIS Server
The IIS server is quite popular and widely used. It has a lot of essential features and is a good tool for a lot of IT admins. IIS
is typically used to host [Link] status websites and web applications, but it may also be used as an FTP server,
host WCF services, and host on other platforms (such as PHP) if extended.
The following are some of IIS's most important features:
• Application Pools
Application pools are a crucial component of the IIS server system. There could be zero or many IIS worker
processes running in a single application pool. These worker processes are in charge of keeping application instances
functioning.
• Authentication
Authentication choices on the IIS server include Windows auth, Basic, and [Link]. Windows auth is especially
beneficial if you use Windows Active Directory because it allows you to sign in to web applications using your
domain account.
• Security
IIS has security capabilities such as TLS certificate management utilities, binding for SFTP and HTTPS, and the
ability to filter requests to effectively whitelist and blacklist traffic. You may set up authorization and permission
rules, log requests, and use a variety of FTP security features.
• IIS is a versatile and highly adaptable web server in general. If you enhance it, it can do far more than just host
[Link] applications. You may develop a stable, adaptable, and successful IIS server by expanding it.
What is an IIS server used for?
• IIS uses various protocols for communication and data exchange with remote clients or computers, such as HTTP,
SMTP, and FTP. As a core Windows product, IIS comes integrated with Windows Server and runs on Windows OS.
• You can use third-party utilities to run IIS over Linux and macOS, but it often offers less stability and poor
performance.
Outlined below are typical ways to use Microsoft IIS server:
• Website hosting: IIS application server can host enterprise web applications, websites, and WCF services. Nearly
30% of the websites run over IIS.
• Logging: IIS server logs contain critical information about your server and website, including usage patterns,
performance issues, etc. Analyzing these log files helps you identify and troubleshoot problems quickly.
• Request Filtering: Microsoft IIS server provides a Request Filtering module to scan and filter potentially dangerous
client requests. You can apply appropriate traffic filtering rules based on parameters such as file extensions, URL
length, and maximum string size.
• Native support: IIS natively supports the Microsoft .NET framework and libraries, allowing developers to quickly
build, deploy, and manage [Link] web applications on IIS.
Benefits of using IIS server
• Robust security: IIS comes with built-in authentication, authorization, and access control features to strengthen your
web application security. You can create system and application administrator accounts individually for granular-level
access. Other security features include request filtering to whitelist/blacklist traffic, dynamic IP blocking, SSL and
TLS encryption, webpage compression, and FTP-specific security controls.
• Application pools: This helps you separate your web applications in IIS for better security and availability. An
application pool has single or multiple applications managed by one or more worker processes in IIS. A worker
process handles the client requests specific to an application pool. Isolation ensures the crashing or failure of an
application in a particular pool doesn’t affect the applications in other pools.
• Scalability and reliability: You can implement a scalable and reliable web infrastructure with IIS Web Farm, which
allows you to host high-traffic websites on multiple IIS servers with load balancing and application request routing
(ARR). A load balancer distributes traffic among multiple servers in the IIS server farm using sophisticated
algorithms. At the same time, ARR determines the best content server for every request. An IIS server farm also lets
you add or remove servers to dynamically scale your website traffic handling capabilities.
Apache vs IIS
1. Apache web server is useful on both IIS web server is used on Windows platform.
Unix based systems and on
Windows
platform.
3. The Apache web server can be For IIS server, the behavior is controlled by modifying the
window-based management programs called IIS snap in. We can
controlled by editing the
access IIS snap-in through the
configuration file [Link]
Control-Panel->Administrative Tools.
Advantages of IIS
• Secure the server by reducing the attack surface area.
• Improve performance and reduce memory footprint.
• Empower Web applications.
• Quality enhancements with lots of bug fixes.
• Application Warm-Up tech for best web performance.
Disadvantages of IIS
• Managing large IIS server configurations or multiple servers over the Internet can be slow and cumbersome.
• Not all configuration properties can be accessed in the user interface.
Conclusion
• IIS Server can seem overly complex at times, but once you understand the fundamentals, such as how to configure
your website, you'll be well on your way to mastering the learning curve.
• The key is to stick with it, because learning how to utilize the world's second-largest Windows web server is well
worth the initial learning curve.
Creating a website
• Website is a collection of Web Pages. Hence for a web site design we need to design the web pages.
• Each Web Page may contain texts, photos, videos, social media buttons and so on.
• Technically, a Web page is a special type of document written in scripting languages such as HTML, CSS,
JavaScript, PHP And so on.
• Web pages are written for web browsers. The web browsers are the programs like internet Explorer, Google Chrome,
and Safari. These browsers have a simple but crucially important job: they read the web page document and display
the perfectly formatted result.
• Definition of Web Site: Web Site is a collection of web pages that are grouped together to achieve certain task under
single domain name.