Sie sind auf Seite 1von 37

ITCS 425

Lecture 1
Introduction to Internet and World
Wide Web
Concepts
• Internet is a group of networks connected together.
• The Internet refers to the global connection of
networks around the world.
• It connects millions of computers together globally,
forming a network in which any computer can
communicate with any other computer as long as
they are both connected to the Internet.
• Internet is a network of networks that consists of millions of private, public,
academic, business, and government networks, of local to global scope, that are
linked by a broad array of electronic, wireless and optical networking technologies.
• The Internet carries an extensive range of information resources and services, such
as:
1. Inter-linked hypertext documents of the World Wide Web (WWW), the
infrastructure to support email, and peer-to-peer networks.
2. Most traditional communications media including telephone, music, film, and
television are being reshaped or redefined by the Internet, giving birth to new
services such as voice over Internet Protocol (VoIP) and Internet Protocol television
(IPTV).
3. Newspaper, book and other print publishing are adapting to website technology, or
are reshaped into blogging.
4. The Internet has enabled and accelerated new forms of human interactions through
instant messaging, Internet forums, and social networking.
5. Online shopping.
6. Business-to-business and financial services.
• No one actually owns the Internet, and no single person or
organization controls the Internet in its entirety.

• There are, however, organizations that oversee and


standardize what happens on the Internet and assign IP
addresses, such as the National Science Foundation, the
Internet Engineering Task Force, Internet Corporation for
Assigned Names and Numbers (ICANN), and the Internet
Architecture Board.
• Every computer that communicates over the Internet is
assigned an (Internet Protocol) IP address that uniquely
identifies the device and distinguishes it from other
computers on the Internet.
• An IP address consists of 32 bits, often shown as 4 octets of
numbers from 0-255 represented in decimal form instead of
binary form. For example, the IP address: 168.212.226.204 in
binary form is 10101000.11010100.11100010.11001100.
• An IP address consists of two parts, one identifying the
network and one identifying the node, or host.
• All nodes on a given network share the same network prefix
but must have a unique host number.
• The world wide web (www), or simply Web, is a
collection of information (or documents such as
Pages, Documents, Resources) stored on the networked
computers over the world and interconnected by
hyper-links.
• It is an information-sharing model that is built on top
of the Internet.
• The Web is just one of the ways that information can
be disseminated over the Internet
• The WWW was proposed in 1991 by Tim Berners-
Lee.
• These documents are accessed by web browsers and
provided by web servers.
• Web Browser is a program that retrieves
information from the Web. Such as:
– Microsoft Internet Explorer

– Mozilla Firefox

– Opera

– Google Chrome

– Apple Safari
Web Server is any computer that receives requests from client
computers, processes and sends the output.
• Examples
– Apache
– Microsoft Internet Information Server (IIS)

Client is any computer on the network that requests services


from another computer on the network.

A Web page is a document that may include text, graphics,


sound, animation, and video.

A Web site is a collection of Web pages.


How Does the Web Work?
• The web information is stored in the Web pages.
– In HTML format.
• The web pages are stored in the Web servers.

• The computer (CLIENT) reading the pages with specific web


browser.

• The web server waits for the request from the web clients over
the Internet.
The HTTP Request/Response Model

HTML Codes
<html>

Request </html>

Response
Client Server

Program /
Scripts
URL, URI, DNS, DHCP
• http://www.xe.com/xemoneytransfer/nz/ (This is URL)
• URI is xe.com. Usually URL are more specific as compared to URI. URI
gives the unique name to the page while URL locates that page.
• Domain Name: www.xe.com (Higher level domain is .com)
• DNS (Domain Name Server) Helps to resolve the domain names in to IP
addresses/location of the requested URL, so that the request will be
directed to the appropriate server for completion.
• DHCP (Domain Host Configuration Protocol) It assigns the IP address to
the client to connect to the network/internet.
Markup
Markup refers to the sequence of characters or other symbols that you insert at certain
places in a text or word processing file to indicate how the file should look when it is
printed or displayed.
For example, we could write *Hello* to output Hello or /Hello/ to output Hello.
A well-known example of a markup language in widespread use today is Hypertext
Markup Language (HTML), one of the document formats of the WWW.
Hypertext and Hypermedia

hypertext is understood as the organization of the


interconnection of single information units. Relationships
between these units can be expressed by links. The hypertext
concept is the basic conceptual grounding of the World Wide
Web.
While hypertext merely designates the linking of information
units in their text version, hypermedia is commonly seen as a
way to extend the hypertext principle to arbitrary multimedia
objects, e.g., images or video.
Protocol
For two parties to communicate efficiently, there
is a need for a set of rules to exchange
information.

• A protocol is a format or set of rules for


communication, either over a network or
between applications.
• Two machines communicating on the Internet
use defined protocols to “understand” each other.
Protocol
The Protocols determines the following:
• The type of error checking to be used.
• Data compression method, if any
• How the sending device will indicate that it has finished sending a message.
• How the receiving device will indicate that it has received a message.

There are varieties of standard protocols from which


programmers can choose. Each has particular advantages and
disadvantages, some are simpler than others. Some are most
reliable, and some are faster
HTTP – HyperText Transfer Protocol
• The Hypertext Transfer Protocol, or, HTTP for short, has
become increasingly important during the past few years. It is
a protocol used by the WWW.
• HTTP Defines how messages are formatted and transmitted,
and what action web servers and browsers should take in
response to various commands.

HTTP is a text-based stateless protocol controlling how


resources, e.g., HTML documents or images, are accessed.

Resources are addressed by using the concept of a Uniform


Resource Identifier (URI).
Stateless Protocol
HTTP is stateless protocol. Statelessness of HTTP allows the server to
handle a large number of clients & frees resources quickly.
• Server maintains no information about past client requests.
– Previous visits are not remembered by the server.
• HTTP is called a stateless protocol because each command is
executed independently, without any knowledge of the commands
that came before it.
• Treats each request as an independent transaction that is unrelated to
any previous request so that the communication consists of
independent pairs of requests and responses
• An application may need to keep persistent data. For example,
HTTP/1.0 added the specification for a Keep-Alive connection that
is either closed by client or server.
Session Tracking
Interactive Web Applications must be able to distinguish requests by
multiple simultaneous users and identify related requests coming from
the same user.

A session is a semi-permanent interactive information interchange, also


known as a dialogue, a conversation or a meeting, between two or more
communicating devices, or between a computer and user.
An established communication session may involve more than one
message in each direction.
The term session is used to define such a sequence of related HTTP
requests between a specific user and a server within a specific time
window.

A session is typically, but not always, stateful, meaning that at least one of
the communicating parts needs to save information about the session
history in order to be able to communicate, as opposed to stateless
communication.
A session tracking mechanism has to be used
to allocate a request to a session. Session
tracking is normally implemented by URL
rewriting or cookies.
• URL Rewriting
URL rewriting is a mechanism that transmits session-relevant data as
parameters in a URL. The transmitted data can then be used to
reconstruct the session on the server. Unfortunately, this mechanism has
several drawbacks:

• If a large data volume is required within a session, then the URL can easily
become messy and error-prone. Since Web applications tend to be
complex, the requirements for the data volume to be stored in a session
can also increase.
• Limiting the length of a URL can cause this mechanism to become unusable
on certain systems.
• The major drawback, however, is that the URLs encoded in HTML pages
have to be dynamically adapted for each session, for instance, to encode a
session in a session ID within the URL. This means that the pages or links
within the application have to be dynamically generated for each request.
We can use cookies to solve this problem.
• Cookies
A cookie, also known as an HTTP cookie, web cookie, or
browser cookie, is used to send state information to a user's
browser and for the browser to return the state information
to the origin site. The state information can be used for
authentication, identification of a user session, user's
preferences, shopping cart contents, or anything else that can
be accomplished through storing text data on the user's
computer.
Cookies are not software. They cannot be programmed, and
cannot carry viruses, on the host computer. However, they can
be used by spyware to track user's browsing activities.
Cookies can be stolen by hackers to gain access to a victim's
web account.
Cookies are typically classified as either
“session” or “permanent” cookies:
While permanent cookies remain on the client
computer (stored on the hard disk), session
cookies are only kept until the site is left or
the browser closed. This means that the
server can identify requests from a specific
client and allocate them to a session.
The major benefit of cookies is that information
identifying a session can be exchanged transparently
between a client and a server. They can be used to
easily implement session tracking, and they require
no major effort, because only a session ID generated
by the server has to be transmitted.
The major drawback of cookies is that some users
deactivate the cookie functionality in their browsers
to prevent their browsing behavior from being
captured.
Client-side Technologies
• Helpers and Plug-ins
Helper programs are applications that can add
functionality to Web browsers. As soon as a browser
receives a media type included in its helper or plug-
in list, this media type is forwarded to the external
program specified in the list for further processing.
A helper program has to be installed by the user on
their client computer. Any program can basically
become a helper.
Example of helper applications include
Acrobat Reader.
A major drawback of helpers is their complex
communication with the browser.
Plug-ins can solve this problem. A plug-in is a
helper program permanently installed into the
browser for optimized communication.
Applications support plug-ins for many
reasons. Some of the main reasons include:
1. to support easily adding new features.
2. to reduce the size of an application.
Java Applets
An applet is any small program that performs one
specific task that runs within the scope of a larger
program.
Applet as a standalone application is an applet is
hosted by an operating system, it can function as any
other normal software application but is small in size
and performs only a small set of tasks, such as
Microsoft paint.
Applet as an extension of other software does not
run independently. These applets must run in a
container provided by a host program.
Java applets are programs written in Java that
are loaded dynamically into the browser.
Applets are loaded by a Web server and
executed in a browser within a runtime
environment called Java Virtual Machine
(JVM). Applets are not persistently stored on a
system. In contrast to ActiveX Controls,
applets are compiled into system-independent
bytecode, which allows them to run on all
platforms with a JVM.
ActiveX
is a framework for defining reusable S/W component.
Applications can then be composed from one or more of
these components in order to provide their functionality.
It was introduced in 1996 by Microsoft as a development of
its Component object model (COM) and Object linking and
embedding (OLE) technologies and is commonly used in its
Windows.
Many Microsoft Windows applications use ActiveX controls to
build their feature-set and also encapsulate their own
functionality as ActiveX controls which can then be embedded
into other applications. Internet explorer also allows
embedding ActiveX controls onto web pages.
ActiveX Controls are standard COM components designed to
provide a certain set of interfaces (COM interfaces). A Web
browser can load such a component from a Web server,
instantiate it via the COM runtime system, and then use that
component’s functionality.
ActiveX controls are comparable to Java
Applets:
1. Programmers designed both of these
mechanisms to allow web browsers to
download and execute them. But Java applets
can run on nearly any platform, while ActiveX
components officially operate only with
Microsoft's internet explorer web browser
and the Windows OS.
2. In contrast to Java applets, ActiveX Controls are compiled into
binary code, which provides excellent performance. ActiveX
Controls are stored in the browser’s special cache directory.
This means that for subsequent invocations the functionality
is readily available.
3. In addition, an ActiveX Control has the same possibilities as a
plug-in or helper; it can access all system areas and functions
of the user who owns the security context it runs in. This is a
security risk. Therefore, Microsoft has developed a method
allowing ActiveX Control vendors to use a crypto method to
sign these components. When an ActiveX Control is loaded in
a browser, the certificate of the ActiveX vendor can be
displayed. A user can decide whether he or she agrees to run
the program, i.e., whether he or she trusts the manufacturing
company.
4. Another benefit of ActiveX Controls is that the components
can be developed in an arbitrary language, including Java,
Visual Basic, and C++, as long as the language’s compiler
meets the required COM specifications.
Document-specific Technologies
• HTML – Hypertext Markup Language
• SVG – Scalable Vector Graphics
• XML – eXtensible Markup Language
• SMIL – Synchronized Multimedia Integration
Language
• XSL – eXtensible Stylesheet Language
Technology Stack for Web
Development
• Client-Side Programming
– HTML
– CSS
• Frameworks existing such as BOOTSTRAP etc.
– JAVASCRIPT
• JavaScript Libraries & Frameworks
– jQuery
– React.js
– Zepto.js
• Javascript Frameworks such as Angular, Vue, Backbone,
and Ember for fast responsive app development
Technology Stack for Web
Development
• Server Side Scripting
– PHP (LARAVEL, ZEND, CODEIGNITER), ASP.NET, JSP,
PHTHON, SCALA, RUBY
– WebServers such as IIS, APACHI.
– Databases
• MYSQL
• POSTGRESQL
• MongoDB (Non-relational DB)
• A web application needs a caching system to reduce
the load on the database and to handle large amounts
of traffic.
– Memcached and Redis are the most widespread caching
systems.
Some Famous Applications and their
Technology Stacks
Some Famous Applications and their
Technology Stacks

• https://www.upwork.com/hiring/for-clients/how-to-choose-a-technology-stack-
for-web-application-development/

Das könnte Ihnen auch gefallen