introduction to the web l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Introduction to the Web PowerPoint Presentation
Download Presentation
Introduction to the Web

Loading in 2 Seconds...

play fullscreen
1 / 59

Introduction to the Web - PowerPoint PPT Presentation


  • 333 Views
  • Uploaded on

Introduction to the Web Vadim Parizher COMP-496EBT Agenda Internet Technologies Programming Languages and Paradigms Programming the Web Internet Technologies The World Wide Web A way to access and share information Technical papers, marketing materials, recipes, ...

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Introduction to the Web' - paul2


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
introduction to the web

Introduction to the Web

Vadim ParizherCOMP-496EBT

agenda
Agenda
  • Internet Technologies
  • Programming Languages and Paradigms
  • Programming the Web
internet technologies the world wide web
Internet Technologies The World Wide Web
  • A way to access and share information
    • Technical papers, marketing materials, recipes, ...
  • A huge network of computers: the Internet
  • Graphical, not just textual
  • Information is linked to other information
  • Application development platform
    • Shop from home
    • Provide self-help applications for customers and partners
    • ...
internet technologies www architecture
Internet TechnologiesWWW Architecture

PC/Mac/Unix + Browser

Client

Request:

http://www.msn.com/default.asp

TCP/IP

Network

Response:

<html>…</html>

Web Server

Server

internet technologies www architecture5
Internet TechnologiesWWW Architecture
  • Client/Server, Request/Response architecture
    • You request a Web page
      • e.g. http://www.msn.com/default.asp
      • HTTP request
    • The Web server responds with data in the form of a Web page
      • HTTP response
      • Web page is expressed as HTML
    • Pages are identified as a Uniform Resource Locator (URL)
      • Protocol: http
      • Web server: www.msn.com
      • Web page: default.asp
      • Can also provide parameters: ?name=Leon
internet technologies web standards
Internet TechnologiesWeb Standards
  • Internet Engineering Task Force (IETF)
    • http://www.ietf.org/
    • Founded 1986
    • Request For Comments (RFC) at http://www.ietf.org/rfc.html
  • World Wide Web Consortium (W3C)
    • http://www.w3.org
    • Founded 1994 by Tim Berners-Lee
    • Publishes technical reports and recommendations
internet technologies web design principles
Internet TechnologiesWeb Design Principles
  • Interoperability: Web languages and protocols must be compatible with one another independent of hardware and software.
  • Evolution: The Web must be able to accommodate future technologies. Encourages simplicity, modularity and extensibility.
  • Decentralization: Facilitates scalability and robustness.
internet technologies hypertext markup language html
Internet TechnologiesHypertext Markup Language (HTML)
  • The markup language used to represent Web pages for viewing by people
    • Designed to display data, not store/transfer data
  • Rendered and viewed in a Web browser
  • Can contain links to images, documents, and other pages
  • Not extensible
  • Derived from Standard Generalized Markup Language (SGML)
  • HTML 3.2, 4.01, XHTML 1.0
internet technologies html forms
Internet TechnologiesHTML Forms
  • Enables you to create interactive user interface elements
    • Buttons
    • Text boxes
    • Drop down lists
    • Check boxes
  • User fills out the form and submits it
  • Form data is sent to the Web server via HTTP when the form is submitted
internet technologies hypertext transport protocol http
Internet TechnologiesHypertext Transport Protocol (HTTP)
  • The top-level protocol used to request and return data
    • E.g. HTML pages, GIFs, JPEGs, Microsoft Word documents, Adobe PDF documents, etc.
  • Request/Response protocol
  • Methods: GET, POST, HEAD, …
  • HTTP 1.0: simple
  • HTTP 1.1: more complex
internet technologies http request
Internet TechnologiesHTTP Request

Method

File

HTTP version

Headers

GET /default.asp HTTP/1.0

Accept: image/gif, image/x-bitmap, image/jpeg, */*

Accept-Language: en

User-Agent: Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)

Connection: Keep-Alive

If-Modified-Since: Sunday, 17-Apr-96 04:32:58 GMT

Blank line

Data – none for GET

internet technologies http response
Internet TechnologiesHTTP Response

HTTP version

Status code

Reason phrase

Headers

HTTP/1.0 200 OK

Date: Sun, 21 Apr 1996 02:20:42 GMT

Server: Microsoft-Internet-Information-Server/5.0

Connection: keep-alive

Content-Type: text/html

Last-Modified: Thu, 18 Apr 1996 17:39:05 GMT

Content-Length: 2543

<HTML> Some data... blah, blah, blah </HTML>

Data

internet technologies http
Internet TechnologiesHTTP
  • HTTP is a stateless protocol
  • Each HTTP request is independent of previous and subsequent requests
  • HTTP 1.1 introduced keep-alive for efficiency
  • Statelessness has a big impact on how scalable applications are designed
internet technologies cookies
Internet TechnologiesCookies
  • A mechanism to store a small amount of information (up to 4KB) on the client
  • A cookie is associated with a specific web site
  • Cookie is sent in HTTP header
  • Cookie is sent with each HTTP request
  • Can last for only one session (until browser is closed) or can persist across sessions
  • Can expire some time in the future
internet technologies https
Internet TechnologiesHTTPS
  • A secure version of HTTP
  • Allows client and server to exchange data with confidence that the data was neither modified nor intercepted
  • Uses Secure Sockets Layer (SSL)/Transport Layer Security (TLS)
internet technologies uris urls and urns
Internet TechnologiesURIs, URLs and URNs
  • Uniform Resource Identifier (URI = URL or URN)
    • Generic term for all textual names/addresses
  • Uniform Resource Locator (URL)
    • The set of URI schemes that have explicit instructions on how to access the resource over the Internet, e.g. http, ftp, gopher
  • Uniform Resource Name (URN)

1) A URI that has an institutional commitment to availability, etc.

2) A particular scheme intended to identify resources

e.g.urn:schemas:httpmail:subject

internet technologies multipurpose internet mail extensions mime
Internet TechnologiesMultipurpose Internet Mail Extensions (MIME)
  • Defines types of data/documents
    • text/plain
    • text/html
    • image/gif
    • image/jpeg
    • audio/x-pn-realaudio
    • audio/x-ms-wma
    • video/x-ms-asf
    • application/octet-stream
internet technologies mime
Internet TechnologiesMIME
  • Specifies character sets, e.g. ASCII
  • Supports multi-part messages
  • Originally designed for email, but also used in other places, such as HTTP
internet technologies browsers
Internet TechnologiesBrowsers
  • Client-side application
  • Requests HTML from Web server and renders it
  • Popular browsers:
    • Netscape
    • Internet Explorer
    • Opera
    • others
  • Also known as a User Agent
internet technologies clients servers
Internet TechnologiesClients & Servers
  • Client and Server computers both have:
    • CPU
    • Memory
    • I/O
      • Disks
      • Network
    • Bus
    • Multi-tasking operating system
    • Applications
internet technologies clients servers22
Internet TechnologiesClients & Servers
  • Clients
    • Generally supports a single user
    • Optimized for responsiveness to user
    • User interface, graphics
  • Servers
    • Supports multiple users
    • Optimized for throughput
    • More: CPUs (SMP), memory, disks (SANs), I/O
    • Provide services (e.g. Web, file, print, database, e-mail, fax, transaction, telnet, directory)
internet technologies proxy servers firewalls
Internet TechnologiesProxy Servers & Firewalls
  • Proxy Server
    • A server that sits between a client (running a browser) and the Internet
    • Improves performance by caching commonly used Web pages
    • Can filter requests to prevent users from accessing certain Web sites
  • Firewall
    • A server that sits between a network and the Internet to prevent unauthorized access to the network from the Internet
internet technologies networks
Internet TechnologiesNetworks
  • Network = an interconnected collection of independent computers
  • Why have networks?
    • Resource sharing
    • Reliability
    • Cost savings
    • Communication
  • Web technologies add:
    • New business models: e-commerce, advertising
    • Entertainment
    • Applications without a client-side install
internet technologies networks25
Internet TechnologiesNetworks
  • Network scope
    • internet: a collection of connected networks
    • Internet: a specific world-wide network based on TCP/IP, used to connect companies, universities, governments, organizations and individuals. Originated as ARPANET, funded by the US DoD.
    • intranet: a network based on Internet technologies that is internal to a company or organization
    • extranet: a network based on Internet technologies that connects one company or organization to another
internet technologies networks26
Internet TechnologiesNetworks
  • Network technology is largely determined by scale:
    • Local Area Network (LAN): Span up to a few kilometers. Bus vs. ring topologies
    • Wide Area Networks (WAN): Can span a country or continent. WANs use routers as intermediate nodes to connect transmission lines
internet technologies networks27
Internet TechnologiesNetworks
  • Network technology
    • Broadcasting
      • Packets of data are sent from one machine and received by all computers on the network
      • Multicast: packets are received by a subset of the machines on a network
    • Point-to-point
      • Packets have to be routed from one machine to another; there many be many paths
    • In general, geographically localized networks use broadcasting, while disperse networks use point-to-point
internet technologies networks28
Internet TechnologiesNetworks

OSI Model Layers

TCP/IP Protocol Architecture Layers

TCP/IP Protocol Suite

Application

Layer

Presentation

Layer

Application

Layer

Telnet

FTP

SMTP

DNS

RIP

SNMP

HTTP

Session

Layer

Host-to-Host

Transport

Layer

TCP

UDP

Transport

Layer

Network

Layer

Internet

Layer

IP

IGMP

ICMP

ARP

Data Link

Layer

Network

Interface

Layer

Ethernet

Token

Ring

Frame

Relay

ATM

Physical

Layer

internet technologies network protocol stack
Internet TechnologiesNetwork Protocol Stack

HTTP

HTTP

TCP

TCP

IP

IP

Ethernet

Ethernet

internet technologies networks internet layer
Internet TechnologiesNetworks - Internet Layer
  • Internet Protocol (IP)
  • Responsible for getting packets from source to destination across multiple hops
  • Not reliable
  • IP address: 32 bit value usually written in dotted decimal notation as four 8-bit numbers (0 to 255); e.g. 130.50.12.4
internet technologies networks transport layer
Internet TechnologiesNetworks - Transport Layer
  • Provides efficient, reliable and cost-effective service
  • Uses the Sockets programming model
  • Ports identify application
    • Well-known ports identify standard services (e.g. HTTP uses port 80, SMTP uses port 25)
  • Transmission Control Protocol (TCP)
    • Provides reliable, connection-oriented byte stream
  • UDP
    • Connectionless, unreliable
internet technologies networks application layer
Internet TechnologiesNetworks - Application Layer
  • Telnet: Remote sessions
  • File Transfer Protocol (FTP)
  • Network News Transfer Protocol (NNTP)
  • Simple Network Management Protocol (SNMP)
  • Simple Mail Transfer Protocol (SMTP)
  • Post Office Protocol (POP3)
  • Interactive Mail Access Protocol (IMAP)
internet technologies networks domain name system dns
Internet TechnologiesNetworks - Domain Name System (DNS)
  • Provides user-friendly domain names, e.g. www.msn.com
  • Hierarchical name space with limited root names
  • DNS servers map domain names to IP addresses
  • .com
  • .net
  • .gov
  • .edu
  • .org
  • .mil
  • .jp
  • .de
internet technologies extensible markup language xml
Internet TechnologiesExtensible Markup Language (XML)
  • Represents hierarchical data
  • A meta-language: a language for defining other languages
  • Extensible
  • Useful for data exchange and transformation
  • Simplified version of SGML
agenda35
Agenda
  • Internet Technologies
  • Programming Languages and Paradigms
  • Programming the Web
programming languages
Programming Languages
  • Machine code
  • Assembly language
  • High-level languages
    • Fortran, LISP, Cobol
    • C, Pascal, Basic, Smalltalk
    • C++, Eiffel
    • Java, C#
  • Scripting languages
    • Shell scripts, Perl, TCL, Python, JavaScript, VBScript
programming paradigms
Programming Paradigms
  • Unstructured programming
  • Structured programming
  • Object-oriented programming
  • Component-based programming
  • Event-based programming
programming paradigms unstructured programming
Programming ParadigmsUnstructured Programming
  • See “Go To Statement Considered Harmful” at http://www.acm.org/classics/oct95/
programming paradigms structured programming
Sequence

Conditional

if then else

switch

Looping

for i from 1 to n

do while

do until

Functions

Exceptions

Programming ParadigmsStructured Programming
programming paradigms object oriented programming
Programming ParadigmsObject-Oriented Programming
  • Objects have data and behavior
    • Data: members, fields, variables, slots, properties
    • Behavior: methods, functions, procedures
  • Using objects is easy
    • First instantiate the type of object desired
    • Then call its methods and get/set its properties
  • Designing new types of objects can be hard
    • Design goals often conflict: simplicity, functionality, reuse, performance
programming paradigms object oriented programming41
Programming ParadigmsObject-Oriented Programming
  • Key object-oriented concepts
    • Identity
    • Encapsulation
      • Data + behavior
      • Information hiding (abstraction)
    • Classes vs. instances
    • Polymorphism
    • Interfaces
    • Delegation, aggregation
    • Inheritance
    • Patterns
programming paradigms component based programming
Programming ParadigmsComponent-Based Programming
  • Components
    • Independent modules of reuse and deployment
    • Coarser-grained than objects (objects are language-level constructs)
    • Includes multiple classes
    • Often language-independent
  • In the general case, the component writer and the component user don’t know each other, don’t work for the same company, and don’t use the same language
programming paradigms component based programming43
Programming ParadigmsComponent-Based Programming
  • Component Object Model (COM)
    • Initial Microsoft standard for components
    • Specifies a protocol for instantiating and using components in-process, across processes or across machine boundaries
    • Basis for ActiveX, OLE, and many other technologies
    • Can be created in Visual Basic, C++, .NET, …
  • Java Beans
    • Java standard for components
    • Not language-independent
programming paradigms event based programming
Programming ParadigmsEvent-Based Programming
  • When something of interest occurs, an event is raised and application-specific code is executed
  • Events provide a way for you to hook in your own code into the operation of another system
  • Event = callback
  • User interfaces are all about events
    • onClick, onMouseOver, onMouseMove…
  • Events can also be based upon time or interactions with the network, operating system, other applications, etc.
agenda45
Agenda
  • Internet Technologies
  • Programming Languages and Paradigms
  • Programming the Web
  • .NET Overview
programming the web client side code
Programming the WebClient-Side Code
  • What is client-side code?
    • Software that is downloaded from Web server to browser and then executes on the client
  • Why client-side code?
    • Better scalability: less work done on server
    • Better performance/user experience
    • Create UI constructs not inherent in HTML
      • Drop-down and pull-out menus
      • Tabbed dialogs
    • Cool effects, e.g. animation
    • Data validation
programming the web client side technologies
Programming the WebClient-Side Technologies
  • DHTML/JavaScript
  • COM
    • ActiveX controls
    • COM components
    • Remote Data Services (RDS)
  • Java
  • Plug-ins
  • Helpers
  • Remote Scripting
programming the web dynamic html dhtml
Programming the WebDynamic HTML (DHTML)
  • Script that is embedded within an HTML page
  • Usually written in JavaScript (ECMAScript, JScript) for portability
    • Internet Explorer also supports VBScript and other scripting languages
  • Each HTML element becomes an object that has associated events (e.g. onClick)
  • Script provides code to respond to browser events
programming the web dhtml
Programming the WebDHTML
  • The DHTML Document Object Model (DOM)

window

event

navigator

history

document

location

screen

frames

all

location

children

forms

selection

body

links

text

radio

button

textarea

select

password

checkbox

submit

option

file

reset

programming the web activex
Programming the WebActiveX
  • Based on COM
  • Native only to Internet Explorer
    • Supported in Netscape with a plug-in
  • Good when you know your users (e.g. intranet) or can specify which browser to use
  • Small, efficient code
programming the web java applets
Programming the WebJava Applets
  • Based on Java bytecode
  • Held great promise as a portable, pain-free way to download client-side code:
    • “Write once, run anywhere”
  • Fairly safe: code runs in a “sandbox”
  • Compatibility and performance issues have prevented common usage
programming the web server side code
Programming the WebServer-Side Code
  • What is server-side code?
    • Software that runs on the server, not the client
    • Receives input from
      • URL parameters
      • HTML form data
      • Cookies
      • HTTP headers
    • Can access server-side databases, e-mail servers, files, mainframes, etc.
    • Dynamically builds a custom HTML response for a client
programming the web server side code53
Programming the WebServer-Side Code
  • Why server-side code?
    • Accessibility
      • You can reach the Internet from any browser, any device, any time, anywhere
    • Manageability
      • Does not require distribution of application code
      • Easy to change code
    • Security
      • Source code is not exposed
      • Once user is authenticated, can only allow certain actions
    • Scalability
      • Web-based 3-tier architecture can scale out
programming the web server side technologies
Programming the WebServer-Side Technologies
  • Common Gateway Interface (CGI)
  • Internet Server API (ISAPI)
  • Netscape Server API (NSAPI)
  • Active Server Pages (ASP)
  • Java Server Pages (JSP)
  • Personal Home Page (PHP)
  • Cold Fusion (CFM)
  • ASP.NET
programming the web active server pages asp
Programming the Web Active Server Pages (ASP)
  • Technology to easily create server-side applications
  • ASP pages are written in a scripting language, usually VBScript or JScript
  • An ASP page contains a sequence of static HTML interspersed with server-side code
  • ASP script commonly accesses and updates data in a database
programming the web asp

HTTP request

(form data, HTTP header data)

HTTP responseHTML, XML

Programming the WebASP

ASP page

(static HTML, server-side logic)

conclusion
Conclusion
  • Internet Technologies
  • Programming Languages and Paradigms
  • Programming the Web
more resources
More Resources
  • HTTP
    • http://msdn.microsoft.com/library/periodic/period96/protocol.htm
    • HTTP Essentials, Stephen Thomas, 2001, Wiley, ISBN 0471-39823-3
  • Cookies
    • http://msdn.microsoft.com/library/default.asp?URL=/library/partbook/instantj/cookies.htm
  • MIME
    • http://www.ufaq.org/navcom/mime_tutorial.html
    • http://www.irvine.com/~mime/
  • Networks
    • http://msdn.microsoft.com/library/periodic/period99/ntp99b3.htm
more resources59
More Resources
  • XML
    • http://msdn.microsoft.com/xml/default.asp
    • http://www.w3.org/XML/
    • Essential XML, Don Box, Aaron Skonnard, John Lam, Addison Wesley, 2000, ISBN 0-201-70914-7