Developing Web Applications - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Developing Web Applications

Description:

The World Wide Web (WWW) was developed by Tim Berners-Lee and other research ... Plugins to display different content (e.g., Shockwave or Real Audio content) ... – PowerPoint PPT presentation

Number of Views:91
Avg rating:3.0/5.0
Slides: 41
Provided by: ralp69
Category:

less

Transcript and Presenter's Notes

Title: Developing Web Applications


1
Developing Web Applications Lecture 1 Web
Basics and HTML Dr. Ralph Moseley
2
  • WWW
  • The World Wide Web (WWW) was developed by Tim
    Berners-Lee and other research scientists at
    CERN, the European center for nuclear research,
    in the late 1980s and early 1990s.
  • WWW is a client-server model and uses TCP
    connections to transfer information or web pages
    from server to client.
  • WWW uses a Hypertext model. Hypertext allows
    interactive accesses to a collection of
    documents.
  • Documents can hold
  • Text (hypertext), Graphics, Sound, Animations,
    Video
  • Documents are linked together
  • Non-distributed all documents stored locally
    (e.g on CD-Rom).
  • Distributed documents stored at remote servers
    on the Internet.

3
  • WWW - Hyperlinks (or links)
  • Each document contains links (pointers) to other
    documents.
  • The link represented by "active area" on screen
  • Graphic - button
  • Text - highlighted
  • By selecting a particular link, the client
    fetches the referenced document from a server for
    display.
  • Links may become invalid.
  • Link is simply a text name for a remote document.
  • Remote document may be moved to a new location
    while name in link remains in place.

4
  • WWW Document Representation
  • Each WWW document is called a page.
  • Initial page for individual or organization is
    called a home page.
  • Page can contain many different types of
    information page must specify
  • Content The actual information
  • Type of content The type of information, e.g.
    text, pictures etc
  • Links to other documents
  • Rather than having a fixed representation for
    every browser, pages are formatted with a mark up
    language.
  • This allows browser to format page to fit
    display.
  • Different browsers can display pages in different
    ways.
  • This also allows text-only browser to discard
    graphics for example.
  • Standard is called HyperText Markup Language
    (HTML).

5
  • WWW HTML
  • HTML specifies
  • Major structure of document
  • Formatting instructions for browsers to execute.
  • Hypertext links Links to other documents
  • Additional information about document contents
  • Two parts to document
  • Head contains details about the document.
  • Body contains the information/content of the
    document.
  • Each web page is represented in ASCII text with
    embedded HTML tags that give formatting
    instructions to the browser.
  • Formatted section begins with tag, ltTAGNAMEgt
  • End of formatted section is indicated by
    lt/TAGNAMEgt

6
  • WWW HTML Example
  • ltHTMLgt
  • ltHEADgt
  • ltTITLEgt Example Page for lecturelt/TITLEgt
  • lt/HEADgt
  • ltBODYgt
  • Lecture notes for today go here!
  • ltCENTERgt
  • ltTABLE BORDER3gt
  • ltTRgt
  • ltTDgtltA HREF"./lecture10.html"gtPrevious
    Lecturelt/Agt
  • ltTDgtltA HREF"./lecture12.html"gtNext Lecturelt/Agt
  • ltTDgtltA HREF"./Contents.html"gtTable of
    contentslt/Agt
  • ltTDgtltA HREF"./solutions.html"gtSolutions to
    Assignmentslt/Agt
  • ltTDgtltA HREF"./index.html"gtIndex of termslt/Agt
  • lt/TABLEgt
  • lt/CENTERgt
  • lt/BODYgt
  • lt/HTMLgt

7
  • WWW Other HTML Tags
  • Headings - ltH1gt, ltH2gt
  • Lists
  • ltOLgt - Ordered (numbered) list
  • ltULgt - Unordered (bulleted) list
  • ltLIgt - List item
  • Tables
  • ltTABLEgt, lt/TABLEgt - Define table
  • ltTRgt - Begin row
  • ltTDgt - Begin item in row
  • Parameters
  • Keyword-value pairs in HTML tags
  • ltTABLE BORDER3gt

8
  • WWW Embedding Graphics
  • IMG tag specifies insertion of graphic
  • Parameters
  • SRC"filename"
  • ALIGN - alignment relative to text
  • ltimg SRCGCD.gif" height35 width30gt
  • The above line would insert the image in the file
    GCD.gif into any web page.
  • Image must be in format known to browser, e.g.,
    Graphics Interchange Format (GIF), Joint
    Photographic Experts Group (JPEG), Bitmap etc

9
  • WWW Style

The layout and format of an HTML document can be
simplified by using CSS (Cascading Style Sheets)
lthtmlgt ltheadgt ltstyle type"text/css"gt body
background-color yellow h1 background-color
00ff00 h2 background-color transparent p
background-color rgb(250,0,255) lt/stylegt lt/head
gt
ltbodygt lth1gtThis is header 1lt/h1gt lth2gtThis is
header 2lt/h2gt ltpgtThis is a paragraphlt/pgt lt/bodygt
lt/htmlgt
10
  • WWW Identifying a web page
  • A web page is identified by
  • The protocol used to access the web page.
  • The computer on which the web page is stored.
  • The TCP port that the server is listening on to
    allow a client to access the web page.
  • Directory pathname of web page on server.
  • Specific syntax for Uniform Resource Locator
    (URL) protocol//computer_nameport/document_name
  • Protocol can be http, ftp, file, mailto.
  • Computer name can be DNS name or IP address.
  • TCP port is optional (http uses port 80 as its
    default port).
  • document_name is path on server to web page
    (file).

11
  • WWW Identifying a web page
  • E.g. http//www.yahoo.com/Recreation/Sports/Soccer
    /index.html
  • Protocol is http
  • Computer name or DNS name is www.yahoo.com
  • Port number is the default port for http, i.e.
    port 80.
  • Document name is /Recreation/Sports/Soccer/index.h
    tml

12
  • WWW Hyperlinks between web pages
  • Each hyperlink is specified in HTML by using a
    special tag.
  • An item on a page is associated with another HTML
    document.
  • Each link is passive, no action is taken until
    link is selected.
  • HTML tags for a hyperlink are ltAgt and lt/Agt
  • The linked document is specified by parameter to
    the tag HREF"document URL"
  • ltA HREFhttp//www.gcd.iegtClick here to go to
    GCD web site.lt/Agt
  • Whatever is between the HTML tags, ltAgt and lt/Agt
    is the highlighted hyperlink.

13
  • WWW Client Server Model
  • The browser is the client, WWW (or web) server is
    the server.
  • Browser
  • The browser makes TCP connection to the web
    server.
  • The browser sends request for the particular web
    page that it wishes to display.
  • The browser reads the contents of the web page
    from the TCP connection and displays it in the
    browsers window.
  • The browser closes the TCP connection used to
    transfer the web page.
  • Each separate item in a web page (e.g., pictures,
    audio) require a separate TCP connection.
  • HyperText Transport Protocol (HTTP) specifies
    commands that the client (browser) issues to the
    server (web server) and the responses that the
    server sends back to the client.

14
  • WWW Client Server Model

Figure 1-1 Web client/server architecture
15
Web Server Basics
  • Duties
  • Listen to a port
  • When a client is connected, read the HTTP request
  • Perform some lookup function
  • Send HTTP response and the requested data

16
Serving a Page
  • User of client machine types in a URL

17
Serving a Page
  • Server name is translated to an IP address via DNS

client
server
(Netscape)
(Apache)
http//
www.smallco.com
/index.html
192.22.107.5
18
Serving a Page
  • Client connects to server using IP address and
    port number

19
Serving a Page
  • Client determines path and file to request

20
Serving a Page
  • Client sends HTTP request to server

21
Serving a Page
  • Server determines which file to send

22
Serving a Page
  • Server sends response code and the document

23
Serving a Page
  • Connection is broken

24
HTTP
  • HTTP is
  • Designed for document transfer
  • Generic
  • not tied to web browsers exclusively
  • can serve any data type
  • Stateless
  • no persistant client/server connection

25
HTTP Protocol Definitions
  • MIME
  • Multipurpose Internet Mail Extensions
  • Standards for encoding different media types in a
    message
  • Originally developed for emailing files and
    messages in different languages

26
  • WWW HTTP Protocol
  • When a user types in http//www.yahoo.com/Recreati
    on/Sports/Soccer/index.html, the broswer creates
    a HTTP GET Request message and sends it over a
    TCP connection to the web server.
  • In the above case, the HTTP GET Request message
    would be
  • GET /Recreation/Sports/Soccer/index.html HTTP/1.0
  • User-Agent InternetExplorer/5.0
  • Accept text/html, text/plain, image/gif,
    audio/au
  • \r\n

27
  • WWW HTTP Request messages
  • HTTP Request messages are sent from client to
    server.

Additional information such as brower being used,
media types accepted
Delimiter Carriage return Line feed
User data e.g. contents of completed form
Type of Request (e.g. GET)
  • There are a number of valid HTTP Request messages
  • Get Used to request a web page from a web
    server
  • Head Return the header of a web page, used by
    search engines to test the validity of hyperlinks
  • Post Used to send data (e.g. results of
    registration form) to a web server
  • Put / Delete Not typically implemented by
    browsers.

28
  • WWW HTTP Response messages
  • HTTP Response messages are sent from server to
    client.

Success/Failure Indication Number between 200 and
599
Type of content returned e.g. text/html or
image/gif
Requested Data e.g. web page
Delimiter
  • The Status Line gives information about the
    success of the previous HTTP Request
  • 200 299 Success
  • 300 399 Redirection Document has been moved
  • 400 499 Client Error Bad Request,
    Unauthorised, Not found
  • 500 599 Server Error Internal Error, Service
    Overloaded

29
192.168.1.3 - - 10/Jan/2004192209 0000 "GET
/cmt3092 HTTP/1.1" 301 366 192.168.1.3 - -
10/Jan/2004192210 0000 "GET /cmt3092/
HTTP/1.1" 200 343 192.168.1.3 - -
10/Jan/2004192217 0000 "GET
/cmt3092/xampp-win321.2.exe HTTP/1.1" 404
1243 192.168.1.3 - - 10/Jan/2004192247 0000
"GET /cmt3092/xampp-win321.2.exe HTTP/1.1" 404
1117 192.168.1.3 - - 10/Jan/2004192329 0000
"GET /cmt3092/ HTTP/1.1" 200 344 192.168.1.3 - -
10/Jan/2004192336 0000 "GET
/cmt3092/xampp-win32-1.2.exe HTTP/1.1" 200
28329331 192.168.1.3 - - 10/Jan/2004193308
0000 "GET /cmt3092 HTTP/1.1" 301 366
30
217.122.40.71 - - 06/Jan/2004143142 0000
"GET /scripts/root.exe?/cdir HTTP/1.0" 404
1117 217.122.40.71 - - 06/Jan/2004143144
0000 "GET /MSADC/root.exe?/cdir HTTP/1.0" 404
1117 217.122.40.71 - - 06/Jan/2004143144
0000 "GET /c/winnt/system32/cmd.exe?/cdir
HTTP/1.0" 404 1117 217.122.40.71 - -
06/Jan/2004143144 0000 "GET
/d/winnt/system32/cmd.exe?/cdir HTTP/1.0" 404
1117 217.122.40.71 - - 06/Jan/2004143144
0000 "GET /scripts/..255c../winnt/system32/cmd.
exe?/cdir HTTP/1.0" 404 1117 217.122.40.71 - -
06/Jan/2004143144 0000 "GET
/_vti_bin/..255c../..255c../..255c../winnt/syst
em32/cmd.exe?/cdir HTTP/1.0" 404
1117 217.122.40.71 - - 06/Jan/2004143145
0000 "GET /_mem_bin/..255c../..255c../..255c.
./winnt/system32/cmd.exe?/cdir HTTP/1.0" 404
1117 217.122.40.71 - - 06/Jan/2004143145
0000 "GET /msadc/..255c../..255c../..255c/..
c11c../..c11c../..c11c../winnt/system32/cmd.e
xe?/cdir HTTP/1.0" 404 1117 217.122.40.71 - -
06/Jan/2004143145 0000 "GET
/scripts/..c11c../winnt/system32/cmd.exe?/cdir
HTTP/1.0" 404 1117 217.122.40.71 - -
06/Jan/2004143145 0000 "GET
/scripts/..c02f../winnt/system32/cmd.exe?/cdir
HTTP/1.0" 404 1117 217.122.40.71 - -
06/Jan/2004143145 0000 "GET
/scripts/..c0af../winnt/system32/cmd.exe?/cdir
HTTP/1.0" 404 1117 217.122.40.71 - -
06/Jan/2004143146 0000 "GET
/scripts/..c19c../winnt/system32/cmd.exe?/cdir
HTTP/1.0" 404 1117 217.122.40.71 - -
06/Jan/2004143146 0000 "GET
/scripts/..3563../winnt/system32/cmd.exe?/cdir
HTTP/1.0" 400 1044 217.122.40.71 - -
06/Jan/2004143146 0000 "GET
/scripts/..35c../winnt/system32/cmd.exe?/cdir
HTTP/1.0" 400 1044 217.122.40.71 - -
06/Jan/2004143146 0000 "GET
/scripts/..253563../winnt/system32/cmd.exe?/cd
ir HTTP/1.0" 404 1117 217.122.40.71 - -
06/Jan/2004143147 0000 "GET
/scripts/..252f../winnt/system32/cmd.exe?/cdir
HTTP/1.0" 404 1117
31
  • WWW Caching Web pages
  • Downloading HTML documents from servers can be
    slow due to a number of conditions
  • Parts of the Internet can be congested
  • Dialup connection is typically very slow, 33Kbps
    or 56Kbps
  • Web server can have a lot of clients connecting
    to it at the same time, causing it to be
    overloaded.
  • If a user returns to previous HTML document, then
    this could require downloading the document from
    the server again.
  • A browser can hold copies of recently visited
    pages. This avoids having to download pages
    again.
  • An organisation can use a HTTP proxy that caches
    documents for multiple users. Thus improving the
    speed at which pages can be displayed on each
    users computer.

32
  • WWW Browser Architecture

D i s p l a y D r i v e r
Input from keyboard and mouse
Controller
html interpreter
Output sent to display

optional plugins
HTTP client
Other client

Network Interface
Communication with remote server
33
  • WWW Browser Architecture
  • Browser has more components than a server
  • Display driver for painting screen.
  • HTML interpreter for formatting HTML documents.
  • Plugins to display different content (e.g.,
    Shockwave or Real Audio content)
  • HTTP client to fetch HTML documents from WWW
    server.
  • Other clients for other protocols (e.g., ftp,
    mail)
  • Controller also must accept input from the
    computer user through the mouse or keyboard.

34
Other Protocols
  • FTP - File Transfer Protocol
  • The Internet began development in the 1960s.
  • Moving a file from one computer to another
    computer required some form of removable medium
    (floppy disk or tape).
  • People required a protocol to reliably transfer
    files between any two computers connected to the
    Internet.
  • Why not use HTTP?
  • The HTTP protocol was developed in the late 1980s
    and the early 1990s.
  • HTTP provides a poor authentication mechanism of
    users of the protocol.
  • HTTP doesnt easily allow files to be sent in
    both directions.
  • HTTP doesnt allow files to be downloaded in
    separate stages.

35
  • FTP - Functions
  • The main function of FTP was to allow the sharing
    of files across the Internet.
  • Other functions included
  • Allowing computer users to use computers
    remotely.
  • Hiding file storage differences from the user.
    The format that files are stored on a Macintosh
    are different from a PC which in turn are
    different from a Unix workstation. Different
    length filenames also have to be accommodated.
  • Transfer of file data between computers has to be
    done reliably and efficiently. FTP should also
    allow transfer of very large files to be done in
    stages.

36
  • FTP
  • FTP is a client/server program
  • An FTP client program enables the user to
    interact with an ftp server in order to access
    files on the ftp server computer.
  • Client programs can be
  • Simple command line interfaces. E.g. MS-Dos
    Prompt
  • C\ ftp ftp.maths.tcd.ie
  • Integrated with Web browsers, e.g. Netscape
    Navigator, Internet Explorer.
  • FTP provides similar services to those available
    on most filesystems list directories, create new
    files, download files, delete files.
  • FTP uses TCP connections and the default server
    port for FTP is 21.

37
  • FTP - Transfer modes
  • Batch transfer
  • User creates list of files to be transferred by
    ftp program.
  • Users request is dropped into a queue of similar
    requests.
  • FTP program reads requests and performs transfers
    of files.
  • Transfer program can retry until successful.
  • Good for slow or unreliable transfers.
  • Interactive transfer
  • User starts ftp program
  • User can interactively list contents of
    directories, transfer files, delete files etc.
  • User can find and transfer files immediately
  • Quick feedback in case of mistakes, e.g.,
    spelling errors

38
  • FTP - Sample Commands
  • Command Description
  • ftp maths.tcd.ie Open connection to computer
  • ls List Directory contents
  • cd Change to another directory
  • bin Change to binary transfer, used for
  • downloading executables.
  • get Download a file from remote computer
  • put Upload a file to the remote computer
  • mget Start download of multiple files
  • mput Start upload of multiple files

39
  • FTP - Checkpointing
  • A data transfer may be aborted after only
    transferring part of a file.
  • This could be due to the client or the server
    crashing, the TCP connection being broken due to
    congestion, phone hanging up during dial up
    connection.
  • FTP allows the file transfer from where the
    transfer was stopped, no need to re-transfer part
    of file.
  • FTP achieves this by sending restart markers
    between the server and the client.
  • Restart markers are saved in a restart file by
    the client. Client sends restart marker when it
    wants to continue the transfer of a previously
    stopped transfer.

40
  • What has been covered this week
  • Overview of applications whats out there
  • Internet basics architecture and protocols
  • HTML
  • Next Week JavaScript
Write a Comment
User Comments (0)
About PowerShow.com