the university of akron summit college business technology dept
DESCRIPTION
The University of Akron Summit College Business Technology Dept. 2440: 141 Web Site Administration Web Application Resources Instructor: Enoch E. Damson. Client/Server Basics. The client/server model generally has clients and servers, and business/application logic (rules) - PowerPoint PPT PresentationTRANSCRIPT
The University of AkronSummit College
Business Technology Dept.2440: 141
Web Site Administration
Web Application ResourcesInstructor: Enoch E. Damson
Client/Server BasicsThe client/server model generally has clients and servers, and
business/application logic (rules)Client – hardware or software used to communicate with a data
provider (server) Normally, one user uses a specific client at a time
Server – a computer capable of providing data to many clients at the same time The term server can mean:
the physical computer or piece of hardware the actual server software or daemon running on that machine
Daemon – a program that offers a service to other programs, usually over a network
Application/business logic – rules written in a programming language to help the communication between clients and the server
Web Application Resources 2
Network Connections and PortsComputers connected to the Internet typically
communicate using TCP/IP (Transmission Control Protocol and the Internet Protocol)TCP/IP – allows computers to communicate at a network-
level using IP (Internet Protocol) addresses TCP (Transmission Control Protocol) – invented by Robert Kahn IP (Internet Protocol) – created by Dr. Vinton Cert together with
Robert Kahn
Web Application Resources 3
Network Connections and Ports…IP Address – a unique identifier assigned to each
computer on the InternetPort number – a unique identifier that indicates each
service running on a computerMost services have standard port numbersSome standard ports numbers are:
ftp (20,21), telnet (23), smtp (25), http (80)
Web Application Resources 4
Web ServersService client requests for documentsThe European Lab for Particle Physics (CERN) produced one of
the first Web serversThe World Wide Web Consortium (W3C) took over the
development of the CERN HTTPD (W3C HTTPD)The National Center for Supercomputing Applications (NCSA)
also created an HTTP server which quickly became popular between 1993 and 1995
The Apache server (based on the NCSA implementation) has become very popular
Web Application Resources 5
Web BrowsersUsed as a client to retrieve and display information
from Web serversEarlier Web browsers were text-based
E.g. gopher, WAIS, telnet, FTPNCSA Mosaic was the first real HTML browser that
was developed in 1993There are several browsers on the market now
Web Application Resources 6
Electronic PublishingThe two main types of files in Web publishing are:
ASCII Text Files – uses numeric values (0 – 127) to represent letters, numbers, and other characters Each byte of the file represents a specific character
Binary Files – contain images, sounds, compressed ASCII text, etc
Web Application Resources 7
ImagesThere are several file formats available for storing graphics and
imagesWeb browsers support just a few image formatThe most common type of formats are:
GIF (Graphic Interchange Format) – mostly used for graphics (like clip arts logos, icons, etc) requiring fewer colors because it displays only 256 colors
JPEG/JPG (Joint Photographic Expert Group) – mostly used for photographs and images covering a wide spectrum of color because it uses the full 16.7 million colors
PNG (Portable Network Graphic) – offer millions of colors, lossless compression, and other features that make them a good alternative to GIF images in most cases
Web Application Resources 8
AudioEmbedded in Web applications to play automatically,
or used as links to be played when a user clicks on a link to the sound file
Some of the common sound files include:WAV – originated on Windows-based machinesAIFF – originated on MacintoshAU – originated on Sun Microsystems workstations (UNIX)
Web Application Resources 9
Multipurpose Internet Mail Extensions (MIME) TypesSet of rules that allow multimedia documents to be
exchanged among many different computer systemsOriginally designed for sending email attachments
and incorporated into httpBoth the Web server and the Web browser must
have a MIME types database Mime type database – used to identify the file extension
and determine how the file must be sent
Web Application Resources 10
The Hypertext Transfer Protocol (HTTP)Provides a standard way of communication and information
exchange between the Web browsers and Web servers Expects the client to initiate a request and the server to
respondEach request and response has three parts:
Request/Response line – contains a request method, the document location, and the protocol version
Header section – series of lines with http headers that are used to pass other information about the request and the client to the server
Entity body – contains other data to be passed to the server
Web Application Resources 11
HTTP Request/Response ExampleClient Request
GET /hello.html HTTP/1.1Host: test.comUser-Agent: Morzilla/4.5
Server ResponseHTTP/1.1 200 OK
Date: Wed, 06 Sept 2006 13:56:05 GMTLast-Modified: Wed, 06 Sept 2006 13:50:23 GMTServer: Apache/2.0.52Connection: closeContent-Length: 25Content-Type: text/html
<html>Hello world!</html>
Web Application Resources 12
HTTP Request/Response Example…Client Request
The hello.html file was requested from the server test.com using HTTP version 1.1
the Web browser used was Mozilla version 4.5
Server ResponseThe request was successful
(status code 200) and returned 25 bytes of text
The server indicates the date and time it thinks the resource was requested and last modified and the software it is running (Apache version 2.0.52)
Web Application Resources 13
HTTP Request MethodsThe HTTP command of the Web browser’s request
lineThe Web server uses the request method to
determine what to do with the browser’s requestThere are several methods defined by the HTTP 1.1
standard but only a few are widely supported by the HTTP serversThe most widely used methods are:
GET – for retrieving information from a Web server Can also be used to pass information to the Web server as part of a URL
HEAD – for verifying the existence of information on a Web server POST – for sending (updating) information to a Web server
Web Application Resources 14
HTTP Request Methods…Other http methods include:
PUTDELETETRACETRACKOPTIONS CONNECT
Web Application Resources 15
HTTP Server ResponsesProcess client requestsThe server generates an error if the resource requested
cannot be locatedThe response line of the server response has 3 parts:
Protocol version – should always be HTTP withStatus code – a three-digit indicator result code defined by the HTTP
specification The first digit represents the category of the response There are currently five categories:
Informational – the request was received and is being processed Success – the client request was successful Client error – the client’s request was incomplete or incorrect Server error – the request was not fulfilled due to a server problem
Description phrase
Web Application Resources 16
Common Response CodesInformational 1xx
100 Continue – the initial part of the request has been received and the client should continue
200 OK – the client’s request was successful and the server’s response contains the resource requested
204 No Content – The request was successful but the response is empty
Redirection 3xx301 Moved Permanently – the URL requested is no longer valid302 Found (Moved Temporarily) – the URL requested currently resides
in a different location304 Not Modified – the client performed a conditional GET and the
document has not been modified
Web Application Resources 17
Common Response Codes…Client Error 4xx
400 Bad Request – the server could not understand the request
403 Forbidden – the client requested data that it did not have permission to access
404 Not Found – the resource requested was not found on the server
Server Error 5xx500 Internal Server Error – something unexpected
happened on the server side
Web Application Resources 18
HTTP HeadersUsed to transfer Information between the client and
serverHas a name and value associated with itThere is one header per line
Web Application Resources 19
Common Request HeadersAccept – specifies the client’s preferred media typeCookie – contains cookie information (name/value
pair) for the requested URLIf-Modified-Since – used for a conditional GET
request (when a document has been modified)Referrer – allows the client to specify the URL of the
page from which the currently requested URL was obtained
User-Agent – identifies the Web browser software
Web Application Resources 20
Common Response HeadersServer – identifies the server softwareSet-Cookie – Allows the server to set a cookie on the
client browser (when permitted) for the given URL or domain
Web Application Resources 21
Common Entity HeadersContent-Length – specifies the size (in bytes) of the data
transferred in the entity bodyContent Type – specifies the MIME Type of the data
returned in the entity bodyExpires – specifies the date/time after which the
response is considered outdatedLast-Modified – specifies the date/time the document
was last modified
Web Application Resources 22
Other Web-Related ServersSome of the most common servers that run along HTTP
servers are:Proxy serversStreaming Audio/VideoFile Transfer Protocol (FTP)DatabasesSecure Socket Layer (SSL)
Web Application Resources 23
Proxy ServersAn intermediary server between a client and destination
serverAllows extra processing of returned dataHave three main uses:
Security – act as a firewall by rejecting other protocolsContent filtering – restricts access to content based on file
typeCaching – stores frequently accessed pages
Web Application Resources 24
Streaming Audio and VideoAllows a media player (or plug-in) to start playing multimedia
content while data is still being receivedCan broadcast live audio/video feeds or serve prerecorded
clipsWeb browsers employ a plug-in to view any type of streaming
contentUnlike HTTP, many streaming media formats may use User
Data Protocol (UDP) instead of TCP/IP as a network protocolUDP is good for transmitting very small pieces of data quicklyUDP will not retransmit data if there is an errorUDP is faster than TCP/IP although TCP/IP is more reliable
Web Application Resources 25
File Transfer Protocol (FTP)Used to transfer files between computers on a
networkRelies on client and server software, unlike HTTPFTP daemon (FTPD) runs on the server to allow
clients to connectIt provides a means of authentication for only authorized
users to transfer filesUNIX servers generally install an FTPD by default
Web Application Resources 26
Server-Side ProgrammingServer-side programs provide dynamic content and
allows interaction with users using:PerlActive Server Pages (ASP)ASP.NETJava Server Pages (JSP) and Java ServletsPHP: Hypertext Preprocessor (PHP)Coldfusion
Web Application Resources 27
DatabasesDatabase – a collection of data and metadata about related
entitiesA large corporate database should typically be installed on its own
dedicated server and not on a Web server machineMetadata – data about other data
Database management system (DBMS) – software that is used to manipulate a database Structured Query Language (SQL) – language built in relational DBMSs to
create and manipulate databases E.g. of relational DBMSs include Oracle, MySQL, Microsoft SQL Server,
Microsoft Access etc
Web Application Resources 28
Secure Socket Layer (SSL)A protocol that allows secure, encrypted
communication over TCP/IPOften used with HTTP to allow information exchange
between a Web browser and a Web serverMost commercial Web server software includes an
SSL server that can run alongside the HTTP daemon (HTTPD)
An Internet socket is defined as a combination of an IP address, a port, and a protocol
Web Application Resources 29