Thory Notes of Web
Thory Notes of Web
The World Wide Web or Web is basically a collection of information that is linked
together from points all over the world. It is also abbreviated as WWW.
Components of WWW
1. Structural Components
2. Semantic Components
Architecture of WWW
The WWW is mainly a distributed client/server service where a client using the browser
can access the service using a server. The Service that is provided is distributed over many
different locations commonly known as sites/websites.
• Each website holds one or more documents that are generally referred to as web
pages.
• Where each web page contains a link to other pages on the same site or at other
sites.
• These pages can be retrieved and viewed by using browsers.
In the above case, the client sends some information that belongs to site A. It generally
sends a request through its browser (It is a program that is used to fetch the documents
on the web).
and also the request generally contains other information like the address of the site, web
page(URL).
The server at site A finds the document then sends it to the client. after that when the
user or say the client finds the reference to another document that includes the web page
at site B.
The reference generally contains the URL of site B. And the client is interested to take a
look at this document too. Then after the client sends the request to the new site and
then the new page is retrieved.
1.Client/Browser
The Client/Web browser is basically a program that is used to communicate with the
webserver on the Internet.
2.Server
The Computer that is mainly available for the network resources and in order to provide
services to the other computer upon request is generally known as the server.
• It is basically a standard used for specifying any kind of information on the Internet.
• In order to access any page the client generally needs an address.
• To facilitate the access of the documents throughout the world HTTP generally
makes use of Locators.
4.HTML
HTML is an abbreviation of Hypertext Markup Language.
5.XML
Features of WWW
Given below are some of the features provided by the World Wide Web:
Advantages of WWW
Given below are the benefits offered by WWW:
Disadvantages of WWW
There are some drawbacks of the WWW and these are as follows;
In above diagrams Protocols are shown as set of rules . Such that Communication
between Sender and Receiver is not possible without Protocol.
• Syntax This term mainly refers to the structure or format of the data which simply
means the order in which data is presented. For example, A simple protocol might
expect the first 8 bits of data to be the address of the sender, then the second 8
bits to be the address of the receiver, and then the rest of the stream to be the
message itself.
• Semantics This term mainly refers to the meaning of each section of bits. How
does a particular pattern to be interpreted, and On the basis of interpretation what
action is to be taken? For example, does an address identify the route to be taken
or the final destination of the message?
• Timing This term mainly refers to two characteristics: At what time the data should
be sent and how fast data can be sent. For example, if a sender produces data at
100 Mbps but the receiver can process data at only 1 Mbps, the transmission will
overload the receiver and there will be some data loss.
Standards :
Standards are the set of rules for data communication that are needed for exchange
of information among devices. It is important to follow Standards which are created
by various Standard Organization like IEEE , ISO , ANSI etc.
Standards are mainly used to provide guidelines to manufacturers, vendors, government agencies,
and also to other service providers in order to ensure the kind of interconnectivity that is necessary
for today's marketplace and also in international communications.
Types of Standards :
Standards are of two types :
• De Facto Standard.
• De Jure Standard.
De Facto Standard : The meaning of the work ” De Facto ” is ” By Fact ” or “By
Convention”.
These are the standards that have not been approved by any Organization , but have been
adopted as Standards because of it’s widespread use. Also , sometimes these standards are
often established by Manufacturers.
For example : Apple and Google are two companies which established their own rules on
their products which are different . Also they use some same standard rules for
manufacturing for their products.
De Jure Standard : The meaning of the word “De Jure” is “By Law” or “By Regulations”
.
Thus , these are the standards that have been approved by officially recognized body like
ANSI , ISO , IEEE etc. These are the standard which are important to follow if it is required or
needed.
For example : All the data communication standard protocols like SMTP , TCP , IP , UDP etc.
are important to follow the same when we needed them.
The columns below summarize the key differences between the two types of
servers:
Web Server
• Client-side, popularly called: the frontend, where the code is written in HTML,
CSS, JavaScript and stored within the browser. It’s where user interaction
takes place.
• Server-side, also known as the backend, controls the business logic and
responds to HTTP requests. The server-side code is written in Java, PHP, Ruby,
Python, etc.
What is XHTML?
• XHTML stands for EXtensible HyperText Markup Language
• XHTML is a stricter, more XML-based version of HTML
• XHTML is HTML defined as an XML application
• XHTML is supported by all major browsers
Why XHTML?
XML is a markup language where all documents must be marked up correctly
(be "well-formed").
XHTML was developed to make HTML more extensible and flexible to work with
other data formats (such as XML). In addition, browsers ignore errors in HTML
pages, and try to display the website even if it has some errors in the markup.
So XHTML comes with a much stricter error handling.
Features of CGI:
• It is a very well defined and supported standard.
• CGI scripts are generally written in either Perl, C, or maybe just a simple shell
script.
• CGI is a technology that interfaces with HTML.
• CGI is the best method to create a counter because it is currently the quickest
• CGI standard is generally the most compatible with today’s browsers
Advantages of CGI:
• The advanced tasks are currently a lot easier to perform in CGI than in Java.
• It is always easier to use the code already written than to write your own.
• CGI specifies that the programs can be written in any language, and on any
platform, as long as they conform to the specification.
• CGI-based counters and CGI code to perform simple tasks are available in plenty.
Disadvantages of CGI:
There are some disadvantages of CGI which are given below:
• In Common Gateway Interface each page load incurs overhead by having to load
the programs into memory.
• Generally, data cannot be easily cached in memory between page loads.
• There is a huge existing code base, much of it in Perl.
• CGI uses up a lot of processing time.
cHTML
Short for compact HTML, a subset of HTML for small information devices, such
as smart phones and PDAs.
XML
XML (Extensible Markup Language) is a markup language similar to HTML, but
without predefined tags to use. Instead, you define your own tags designed specifically for
your needs. This is a powerful way to store data in a format that can be stored, searched, and
shared.
WML
wireless markup language: an XML-based set of standards used to tag and format text
displayed on handheld wireless devices.
WML | Introduction
WML stands for Wireless Markup Language (WML) which is based on HTML and
HDML. It is specified as an XML document type. It is a markup language used to
develop websites for mobile phones. While designing with WML, constraints of
wireless devices such as small display screens, limited memory, low bandwidth of
transmission and small resources have to be considered. WAP (Wireless Application
Protocol) sites are different from normal HTML sites in the fact that they are
monochromatic (only black and white), concise and has very small screen space, due
to which content in the WAP sites will be only the significant matter, much like how
telegraph used to work in the olden days. The concept WML follows is that of a deck
and card metaphor.
Web 2.0
Internet
Web 2.0, term devised to differentiate the post-dotcom bubble World Wide Web with
its emphasis on social networking, content generated by users, and cloud
computing from that which came before. The 2.0 appellation is used in analogy with
common computer software naming conventions to indicate a new, improved version.
Web 2.0
What Is Web 2.0?
Web 2.0 describes the current state of the internet, which has more user-
generated content and usability for end-users compared to its earlier
incarnation, Web 1.0. In general, Web 2.0 refers to the 21st-century Internet
applications that have transformed the digital era in the aftermath of
the dotcom bubble.
KEY TAKEAWAYS
• Web 2.0 describes the current state of the internet, which has more
user-generated content and usability for end-users compared to its
earlier incarnation, Web 1.0.
• Web 2.0 does not refer to any specific technical upgrades to the
internet; it refers to a shift in how the Internet is used.
• In the new age of the Internet, there is a higher level of information
sharing and interconnectedness among participants.
Semantic Web
Description
The Semantic Web, sometimes known as Web 3.0, is an extension of the World Wide Web through
standards set by the World Wide Web Consortium. The goal of the Semantic Web is to make Internet
data machine-readable.
Web service
A web service (WS) is either:
• a service offered by an electronic device to another electronic device, communicating with
each other via the Internet, or
• a server running on a computer device, listening for requests at a particular port over a
network, serving web documents (HTML, JSON, XML, images).
The use of the term "Web" in Web Service is a misnomer. Web Services do not use
the World Wide Web (WWW), a human user interface running on the Internet, but rather
a machine-to-machine service running on the Internet using the WWW protocols.
In a web service, a web technology such as HTTP is used for transferring machine-
readable file formats such as XML and JSON.
In practice, a web service commonly provides an object-oriented web-based interface to
a database server, utilized for example by another web server, or by a mobile app, that
provides a user interface to the end-user. Many organizations that provide data in
formatted HTML pages will also provide that data on their server as XML or JSON, often
through a Web service to allow syndication. Another application offered to the end-user
may be a mashup, where a Web server consumes several Web services at different
machines and compiles the content into one user interface.
Search Engines
Introduction
Search Engine refers to a huge database of internet resources such as web pages,
newsgroups, programs, images etc. It helps to locate information on World Wide Web.
User can search for any information by passing query in form of keywords or phrase. It
then searches for relevant information in its database and return to the user.
Search Engine Components
Generally there are three basic components of a search engine as listed below:
1. Web Crawler
2. Database
3. Search Interfaces
Web crawler
It is also known as spider or bots. It is a software component that traverses the web to
gather information.
Database
All the information on the web is stored in database. It consists of huge web resources.
Search Interfaces
This component is an interface between user and the database. It helps the user to search
through the database.
Architecture
The search engine architecture comprises of the three basic layers listed below:
• Content collection and refinement.
• Search core
• User and application interfaces
Query Process
Query process comprises of the following three tasks:
• User interaction
• Ranking
• Evaluation
User interaction
It supporst creation and refinement of user query and displays the results.
Ranking
It uses query and indexes to create ranked list of documents.
Evaluation
It monitors and measures the effectiveness and efficiency. It is done offline.
Examples
Following are the several search engines available today:
Search Description
Engine
Google It was originally called BackRub. It is the most popular search engine globally.
Bing It was launched in 2009 by Microsoft. It is the latest web-based search engine that
delivers Yahoo’s results.
Ask It was launched in 1996 and was originally known as Ask Jeeves. It includes suppor
match, dictionary, and conversation question.
AltaVista It was launched by Digital Equipment Corporation in 1995. Since 2003, it is powered
Yahoo technology.
LYCOS It is top 5 internet portal and 13th largest online property according to Media Matrix.
Alexa It is subsidiary of Amazon and used for providing website traffic information.
Managing web content effectively can have useful business applications in the enterprise,
producing insights for decision-making and delivering results, as well as value.
• The content delivery application (CDA) provides back-end services that take the
content that users create in the CMA and turn it into the website that visitors can
access.
An organization can run a WCMS in its own data center or in the cloud.
Web-based information systems have evolved significantly over recent years with its
improvement. Web-based applications have several advantages over traditional software
based applications. Some of the core features of web-based applications are given below:
More Manageable:
WBIS only need to be installed on the server placing minimal requirements on the end
user workstation, which makes the system easier to maintain and update as usually it can
all be done on the server.
Web-based applications can indeed be used by multiple users at the same time. It’s not
necessary to share screen or send a screenshot when multiple users see and even edit the
same document at the same time. Web conferencing and online collaboration companies
regulate some key transformations and users only explore what they really need to work
effectively and co-edit documents together.
Reduced cost:
Web-based applications can reduce cost due to support and maintenance, lower
requirements on the end user system and simplified architecture. It doesn’t require any
distribution or marketing infrastructure.
These applications can decrease the risk of losing data due to an unexpected disk crash
or computer virus. Companies of web-based applications provide extensive data backup
service either as an integral part or basic service or sometimes as a paid service.
Social aspects of web-based information system:
In the view of Karl Marx, human beings are intrinsically, necessarily and by definition social
beings who – beyond being “gregarious creatures” – cannot survive and meet their needs
other than through social co-operation and association. Their social characteristics are
therefore to a large extent an objectively given fact, stamped on them from birth and
affirmed by socialization processes; and, according to Marx, in producing and reproducing
their material life, people must necessarily enter into relations of production which are
“independent of their will”.
Social life is affected by web-based information system in different ways. Some of them
are given below:
Online community:
An online community is a virtual community which exist online and can take the form of
information system where any one can post content by using bulletin board system or
weblogs. Online community is used by various social and professional groups interacting
via web-based technology. It’s not necessary to have a strong bond among the members.
The social network based online community arrived in early 2000s which is called social
networking services contains different category divisions to connect with people. Social
networking services allow people to create their own profile. Now Facebook and twitter
has been using widely worldwide. More than 30 million and 18 million people are using
Facebook and twitter respectively at the end of 2009. Myspace and LinkedIn being most
widely used in North America. There are many others social networking website such as
hi5, LinkedIn, orkut, tagged etc which is using all over the world. Some social networking
sites are created for the benefit of others, such as parents social network service “Gurgle
which talks about pregnancy, birth and bringing up children. So social networking services
are being popular in society day by day.
Educational Institutions:
Now-a-days WBIS is used by most of the educational institutions for communicating with
students. Students can find their course material, class schedules or any updated
information through the WBIS. This technology has enabled researchers to access a wider
source of information though internet. Moreover it is helpful for distance learning.
As WBIS is used to store, manipulate, distribute or to create information, news and media
organizations are intimately familiar with each of the elements of information technology.
This technology helps us to get the updated news from all over the world. We can also
get early information about weather and natural disaster, stock exchange, fashion etc. So
this technology is playing an important role in our social and day to day life.
Governments:
The development of WBIS has helped the government to improve their service to their
citizens. Citizens can get current and accurate government information from e-
government websites. Government can publish different types of information through
websites such as budget of the country, tourist spots of the country, results of
examinations, vigilance information etc. Income tax department is doing online tax
accounting for collecting income tax now. So government can get various advantages
from WBIS.
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 development comes with a huge set of rules and techniques every website developer
should know about. If you want a website to look and function as you wish them to, you
need to get familiar with web technologies that will help you achieve your goal.
Fret not if it is not coming easily to you immediately. You may need more time, training,
and patience to dive deeper into the subject, but you’ll end up with a good understanding
eventually.
We present you with an introduction to web technologies and the latest web technologies
list hoping it will make things at least a bit easier for you. Now, let’s take a look.
Since computers can’t communicate with each other the way people do, they require codes
instead. Web technologies are the markup languages and multimedia packages computers
use to communicate.
1. Browsers
Browsers request information and then they show us in the way we can understand. Think
of them as the interpreters of the web. Here are the most popular ones:
Google Chrome – Currently, the most popular browser brought to you by Google
CSS stands for Cascading Style Sheets and it describes how HTML elements are to be
displayed on the screen. If you browse enough tutorials, you’ll soon create CSS text
effects, page transitions, image hover effects, and more.
If you’re a complete beginner, this Essential HTML & CSS training by James Williamson will
help you to quickly get started with these technologies.
Angular is one of the latest web technologies designed specifically for developing d ynamic
web applications. With this framework, you can easily create front-end based
applications without needing to use other frameworks or plugins.
The features include well-made templates, MVC architecture, code generation, code
splitting etc. All the expressions are like code snippets that enclosed within curly braces
and do not use any loops or conditional statements.
If you would like to start using Angular or to just quickly evaluate if this framework would
be the right solution for your projects, you can check out this 3-hour training, published in
June 2019 by Justin Schwartzenberger, a Google Developer Expert. This course covers
everything that’s necessary to start using Angular, from basic architecture, work with DOM,
data binding, routing, and components, to more advanced topics such as directives and
pipes.
Ruby on Rails
Ruby on Rails is a server-side website technology that makes app development much easier
and faster. The thing that really sets this framework apart is the reusability of the code as
well as some other cool features that will help you get the job done in no time.
Popular websites written with Ruby include Basecamp, Ask.fm, GitHub, 500px, and many
others.
If you would are interested in a more in-depth training on Ruby on Rails framework, this
10-hour course by Kevin Skoglund, a senior Ruby developer, might be just the right
resource to get started. It covers the complete learning cycle from the very fundame ntals to
more advanced topics such as Layouts, Partials, and View Helpers, giving quite a few
practical tasks in parallel.
YII
Meteor JS
Meteor JS is written in Node.js and it makes it possible for you to create real-time web
applications for different platforms. The framework for creating simple websites for
personal use really stands out with Meteor JS.
This is an open-source isomorphic JavaScript web framework which also means that the
webpage loading time is significantly shorter. JavaScript stack also makes it possible to get
the same results with fewer lines of code than usual.
This online video course gives an interesting practical example of combining MeteorJS and
React to build a web app.
Express.js
Developed in Node.js, Express.js is a web app development network that is great for those
who need to develop apps and APIs as fast as possible. A lot of great features are provided
with the help of plugins.
This course provides a good insight into the advanced usage of Express.js in combination
with MongoDB and Mongoose and shows different ways of deploying an Express app and
running it in production.
Zend
Zend is an open-source framework based on PHP, focused on building more secure and
reliable web apps and services. It is one of the first enterprise-level MVC frameworks,
which came before the current superhits such as Laravel or Symfony, and many popular
PHP engines such as Magento were built in Zend.
Today Zend is still under active development, and even though it may be less popular than
its opensource siblings, it is a great solution for a large-scale PHP app.
Watch this short video course where different PHP MVC frameworks are compared so that
you could make a choice on your own.
Django
Django is one of the most popular frameworks written in Python and follows MVC
architecture. It makes the app development process much easier thanks to its simplicity.
Django simplifies using Python a lot and provides multiple tools that make a web app
developer’s life easier – e.g. an ORM, Models, Django admin, templates, etc. This 1.5-hour
video course can help any developer, even a beginner, to start developing Python/Django
apps in a couple of days.
Laravel
Laravel is a PHP development framework ideal for small websites. It comes with a number
of useful features including the MVC support, object-oriented libraries, Artisan,
authorization technique, database migration, etc. Currently, it is one of the most
community-supported and community-developed frameworks, and given that PHP has one
of the largest communities out there, Laravel is a great tool powering both small websites
and large-scale B2B web apps managing millions of transactions daily.
To get started with Laravel in less than 3 hours, watch this video course by Bernando
Pineda, a senior DevOps, and Engineer with 15+ years of software development experience.
4. Programming Languages
As we explained before, since computers don’t use languages that are anything like human
languages, they need a different way to communicate. Here are some of the most popular
programming languages:
Javascript – used by all web browsers, Meteor, and lots of other frameworks
PHP – used by WordPress to create those WYSIWYG editors that everyone is using now. It’s
also used by Facebook, Wikipedia, and other major sites
So let’s talk about the most popular ones in a bit more detail.
JavaScript
Ruby
The developers love Ruby – and for all the right reasons. Designed to be user-friendly and
really easy to use, it’s no wonder that this programming language is often called “ a
programmer’s best friend.”
What you can expect from Ruby is a shorter, readable code. Unfortunately, that sometimes
means lower efficiency compared to other programming languages – but it also means
higher productivity.
If you are a beginner in the web development world, Ruby would be a great choice for the
first programming language to learn. A well-written Ruby code can be almost as readable
as the sentence in plain English language.
But the real reason most people use Ruby is its popular framework — Ruby on Rails which
we mentioned earlier in the text. The great productivity achieved with Rails makes it
a common choice for startups who aim for a running start.
Elixir
Elixir appeared back in 2011 and gained popularity almost immediately. It was inspired
by Erlang, a language developed back in the ‘80s by Ericsson. Elixir’s author José Valim
himself said that he loved Erlang, but also noticed some things that could use a bit of
improvement.
Scala
Scala stands for Scalable Language, and is one of the many attempts to “rewrite Java” and it
is compiled to run on the Java Virtual Machine (JVM). It is safe to say this programming
language turned out to be quite a success taking into consideration that companies like
LinkedIn, Twitter, and The Guardian use it in their codebases. Scala is known to be a
complex language but also a language worth learning.
This essential 3-hour training may be a good way to start your journey with Scala.
5. Protocols
The instructions for how to pass information back and forth between computers and
devices are commonly known as protocols.
HTTP
Thanks to this protocol, each website can get to the browser. The protocol requests the
website from Google’s server and then receives a response with the HTML, CSS, and
JavaScript of the website.
DDP
Uses WebSockets to create a consistent connection between the client and the server. As a
result of that, you get website updates in real-time without having to refresh the browser.
REST
Used mostly for API’s, this protocol has standard methods like GET, POST, and PUT that let
information be exchanged between applications.
6. API
An API (application programming interface) allows other developers to use some of the
app’s functionality without sharing the code.
The endpoints are exposed by the developers while the API can control access with an API
key. Examples of well-made APIs are those created by Facebook, Twitter, and Google for
their web services.
7. Data formats
JSON – JavaScript Object Notation is a syntax for storing and exchanging data (just like
XML). It is currently becoming the most popular data format out there.
XML – Predominantly used by Microsoft systems, it used to be the most popular data
format
Each user of an application is called a client. Clients can be computers, mobile devices,
tablets etc. Usually, multiple clients are interacting with the same app stored on a server.
The application code is usually stored on the server. The clients make requests to the
servers. The servers then respond to those requests after gathering the requested
information.