0% found this document useful (0 votes)
35 views37 pages

ITT501 Chapter 3

Uploaded by

ellyshakhan99
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views37 pages

ITT501 Chapter 3

Uploaded by

ellyshakhan99
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 37

NETCENTRIC FUNDAMENTALS

(ITT501)

CHAPTER 3 –
WEB ORGANIZATION
• Overview of Web technologies
• Nature of the Client/Server
relationship
• Characteristic of web servers
• Characteristic of web client/browser
• Support tools for web application
creation and management
• Publishing information and
applications
Overview of Web Technologies
• Web Server
– The server is where the web application code is typically stored.
• Web Browser
– As the interpreters of the Web, browsers request information and
on receiving a response, display the web page in a human-
readable format.
• Frameworks
– Frameworks are built to make building and working with
programming languages easier. Frameworks typically take all the
difficult, repetitive tasks in setting up a new web application and
either do them for you or make them easier to complete.
Overview of Web Technologies
• Programming languages
– Programming languages allow you to
communicate with computers and tell them what
to do.
Overview of Web Technologies
• Databases
– Databases are where data is stored.
– Two types: SQL and NoSQL.
– SQL provides more structure, which helps with
making sure all the data is correct and validated.
NoSQL provides a lot of flexibility for building and
maintaining applications.
• Protocols (more in Chapter 4)
– Protocols are standardized instructions for how to
pass information back and forth between
computers and devices.
Overview of Web Technologies
• Libraries
– Libraries are groups of code snippets that enable a large
amount of functionality without having to write it all.
– Libraries typically ensure code is efficient and works well
across browsers and devices (though this is not always the
case).
• API (more in Chapter 4)
– An application programming interface is created by the
developer of an application to allow other developers to use
some of the application’s functionality without sharing code.
– Developers expose “end points,” which are like inputs and
outputs for the application. API access can be controlled with
API keys.
Overview of Web Technologies
• Web hosting
– rented file space on a hosting company's web
server.
– It allows web application to be access by user.
Nature of Client Server Relationship
Client-Server Architecture

• The client runs as client-side scripting in a web browser


and sends request to the server via HTTP GET requests.
The server runs server-side scripting on a web server and
issues responses in plain text format.
10

INTRODUCTION TO WEB SERVER


• Web server
– Specialized software that responds to client requests by providing
resources
– When users enter URL into Web browsers, they request specific
documents from Web server
– Maps URL to file on server and returns requested document to
client
– Communicates with client using HTTP
• Protocol for transferring requests and files over the Internet
• Popular web servers
– Apache, IIS, Nginx and LiteSpeed.

• Popular Application Server


– Glassfish, JBoss Enterprise Application Platform,

Wildfly, Apache Tomcat


Multiple Servers
Web Browser (Client)

• A web browser is a software application for


retrieving, presenting, and traversing information
resources on the World Wide Web.
• An information resource is identified by a
Uniform Resource Identifier (URI) and may be a
web page, image, video, or other piece of
content.
16

HELPER APPLICATIONS
• A helper application is an external viewer program
launched to display content retrieved using a web browser.
Some common examples include Windows Media Player
and QuickTime Player for playing streaming content.
• Unlike a plugin(whose full code is included into browser
code), a small line is added to the browser code to tell it to
open a certain helper application in case it encounters a
certain file format.
• This provides a simple mechanism that allows the browser
functionality to be extended by allowing it to invoke external
applications (Adobe Reader) to display documents.
User-server state: cookies
example:
many Web sites use
cookies • Susan always access
four components: Internet from PC
1)cookie header • visits specific e-
line of HTTP commerce site for first
time
response
message • when initial HTTP
requests arrives at
2) cookie header site, site creates:
line in next
HTTP request – unique ID
message – entry in backend
3) cookie file database for ID
kept on user’s Application Layer 2-17
Cookies: keeping “state” (cont.)
client server

ebay 8734
usual http request msg Amazon server
cookie file creates ID
usual http response
1678 for user create backend
ebay 8734
set-cookie: 1678 entry database
amazon 1678
usual http request msg
cookie: 1678 cookie- access
specific
usual http response msg action

one week later:


access
ebay 8734 usual http request msg
amazon 1678 cookie: 1678 cookie-
specific
usual http response msg action
Application Layer 2-18
Cookies (continued)
aside
what cookies can cookies and privacy:
be used for:  cookies permit sites
• authorization to learn a lot about
• shopping carts you
• recommendations  you may supply
• user session state name and e-mail to
(Web e-mail) sites

how to keep “state”:


 protocol endpoints: maintain
state at sender/receiver over
multiple transactions
 cookies: http messages carry
state
Application Layer 2-19
Web caches (proxy server)
goal: satisfy client request without involving
origin server
• user sets browser: Web
accesses via cache
• browser sends all HTTP
requests to cache HT proxy
TP u est
req server req
– object in cache: HT
client TP
ues
t H TTP
po nse
res res origin
cache returns object pon T P
se HT server
t
– else cache requests ues
req e
T P ns
object from origin HT
res
po

server, then returns T TP


H
object to client
client origin
server

Application Layer 2-20


More about Web caching
• cache acts as why Web caching?
both client and • reduce response time
for client request
server • reduce traffic on an
– server for original
requesting client institution’s access link
– client to origin server • Internet dense with
caches: enables “poor”
• typically cache
content providers to
is installed by effectively deliver
ISP (university, content (so too does
company, P2P file sharing)
residential ISP) Application Layer 2-21
Support tools for web site creation and
management
• Server-side Scripting
• Client-side Scripting
• Web Application Framework (WAF)
• API (later on Chapter 4)
• Web Services (later on Chapter 4)
Server-Side Scripting
• Server-side scripting simplifies the task of connecting a
database to the Web
– Define an HTML document with embedded executable code/SQL
queries.
– Input values from HTML forms can be used directly in the embedded
code/SQL queries.
– When the document is requested, the Web server executes the
embedded code/SQL queries to generate the actual HTML
document.
– Manipulates data

• Numerous server-side scripting languages


– JSP, PHP
– VBScript, Perl, Python
Client Side Scripting
• Browsers can fetch certain scripts (client-side scripts) or
programs along with documents, and execute them in “safe
mode” at the client site
– HTML5
– CSS
– Javascript
– Macromedia Flash and Shockwave for animation/games
– Applets

• Client-side scripts/programs allow documents to be active


– E.g., animation by executing programs at the local site
– E.g., ensure that values entered by users satisfy some
correctness checks
– Permit flexible interaction with the user.
• Executing programs at the client site speeds up interaction by avoiding
many round trips to server
WEB APPLICATION FRAMEWORK
• Frameworks have become an essential part of web
development, as the standards of web applications are always
rising, so does the complexity of the technology needed.
• supports the creation, development, and publishing of web
applications and web sites.
• offer a standard and accessible way to build and develop web
applications.
WEB APPLICATION FRAMEWORK
• Most web app frameworks are basis on the Model View Controller
architecture.
– Model:
• The lowest level of the pattern, which is responsible for maintaining data. It
concerns the data structure/database schema used. It responds to the
request from the view and also responds to instructions from the
controller to update itself.
– View:
• This is about “what a user sees.” It is responsible for displaying all or a
portion of the data to the user. It presents the data in a particular format
triggered by a controller’s decision.
– Controller:
• The code that controls the interactions between the model and the view.
The controller is responsible for responding to user input and performs
interactions on the data model objects. The controller receives the input, it
validates the input, and then it performs the business operation that
modify the state of the data model.
Common WAF Functionalities:
• URL routing
• Input form managing and validation
• HTML, XML, JSON, and other product setups with a
templating engine
• Database connection configuration and resolute data
manipulation through an object-relational mapper (ORM)
• Web security against Cross-site request forgery (CSRF), SQL
Injection, Cross-site Scripting (XSS) and other frequent
malicious attacks
• Session repository and retrieval
WAF Examples

Backend frameworks Frontend Javascript


• Spring Boot Framework. Frameworks
• Express Framework. • React
• Django Framework. • Vue
• Ruby on Rails (RoR) • Angular
Framework. • Backbone
• Laravel Lumen Framework. • Ember
• Flask Framework.
Publishing Web Application
• To publish a website
– do everything by yourself: set up a database (if
needed), Content Management System, or CMS (like
Wordpress, Dotclear, spip, etc.), upload pre-made or
your own templates.
– use hosting provider's environment, for some fee per
month, or subscribe directly to a dedicated hosting
service with pre-packaged CMSs (e.g., Wordpress,
Tumblr, Blogger). For the latter, you won't have to pay
anything, but you may have less control over
templating and other options.
Web Hosting
• Web hosting happens when the files that
make up a website are uploaded from a
local computer on to a web server. The
server’s resources, (RAM, hard drive
space, and bandwidth) are allocated to the
websites using it
• Web hosting is rented file space on a
hosting company's web server.
Type of server hosting
• Shared hosting
– This is a popular option for launching small websites and not
appropriate for large-scale commercial projects.
• Virtual private server (VPS)
– Medium sized business will benefit from renting an office within a
business park. With a VPS, users are isolated from each other.
• Dedicated server
– more expensive option and best for websites who value reliability
and high performance. Since you control the entire space, you
have more say over configurations and plenty of space, but it’s not
worth investing in if you won’t use the space included.
Choosing server hosting
• Is this a simple website with a few pages of text? Or a more
complex, thousand-pages-long website?
• Will you want to update it regularly? Or will it be a static website?
• Must the website connect to your company’s IT structure to gather
content (say, internal data)?
• Do you want some shiny new feature that is the rage of the
moment? At the time of writing, clients are seeking single pages
with complex parallax
• Will you need the agency to think up user stories or solve complex
UX problems? For example, creating a strategy to engage users, or
A/B testing to choose a solution among several ideas
Choosing server hosting
• Do you want redundant servers, in case your
server goes down?
• Is 95% percent reliability adequate, or do you
need professional, around-the-clock service?
• Do you want high-profile, ultra-responsive
dedicated servers, or can you cope with a
slower, shared machine?
Other options
• GitHub is a "social coding" site. It allows you to
upload code repositories for storage in the Git
version control system. GitHub has a very useful
feature called GitHub Pages, which allows you to
expose website code live on the web.
• Google App Engine is a powerful platform that lets
you build and run applications on Google’s
infrastructure — whether you need to build a
multi-tiered web application from scratch or host a
static website.
Domain Name

• A domain name is the unique address where


people find your website, such
as http://www.mozilla.org or http://www.bbc.co.u
k. You can rent your domain name for as many
years as you want from a domain registrar.

• domain name has to be purchased through a


domain name provider (a registrar).
Reference
• Dr.Tariq Hussain Sheikh, Naresh Kumar. Internet And
Web Technology. Booksclinic Publishing, 11 Feb 2020.
(Google eBook)
• Kumar, Akshi. Web Technology (p. 105). CRC Press.
Kindle Edition.
• J.F Kurose and K.W. Ross, Computer Networking: A
Top-Down Approach (7th Edition)
• Publishing your website. Retrieved from
https://developer.mozilla.org/en-US/docs/Learn/Getti
ng_started_with_the_web/Publishing_your_website
THANK YOU

You might also like