0% found this document useful (0 votes)
4 views

Web dev 2

The document provides an overview of the Internet's origins, including key milestones such as ARPAnet, BITnet, and NSFnet, which eventually led to the establishment of the Internet. It explains the structure and function of web technologies, including IP addresses, domain names, web browsers, servers, and the HyperText Transfer Protocol (HTTP). Additionally, it covers security issues, web programming tools, and various programming languages used for web development.

Uploaded by

adamuelyaqub
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Web dev 2

The document provides an overview of the Internet's origins, including key milestones such as ARPAnet, BITnet, and NSFnet, which eventually led to the establishment of the Internet. It explains the structure and function of web technologies, including IP addresses, domain names, web browsers, servers, and the HyperText Transfer Protocol (HTTP). Additionally, it covers security issues, web programming tools, and various programming languages used for web development.

Uploaded by

adamuelyaqub
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 20

1.

1 A Brief Intro to the Internet


- Origins
- ARPAnet - late 1960s and early 1970s
- Network reliability
- For ARPA-funded research organizations

- BITnet, CSnet - late 1970s & early 1980s


- email and file transfer for other institutions

- NSFnet - 1986
- Originally for non-DOD funded places
- Initially connected five supercomputer centers
- By 1990, it had replaced ARPAnet for non-
military uses
- Soon became the network for all (by the early
1990s)

- NSFnet eventually became known as the Internet

- What the Internet is:


1.1 A Brief Intro to the Internet (continued)

- Internet Protocol (IP) Addresses


- Every node has a unique numeric address

- Form: 32-bit binary number


- New standard, IPv6, has 128 bits (1998)

- Organizations are assigned groups of IPs for


their computers

- Domain names
- Form: host-name.domain-names

- First domain is the smallest; last is the largest

- Last domain specifies the type of organization

- Fully qualified domain name - the host name


and all of the domain names

- DNS servers - convert fully qualified domain


names to IPs
1.2 The World-Wide Web
- A possible solution to the proliferation of different
protocols being used on the Internet

- Origins
- Tim Berners-Lee at CERN proposed the Web
in 1989
- Purpose: to allow scientists to have access
to many databases of scientific work through
their own computers

- Document form: hypertext

- Pages? Documents? Resources?


- We’ll call them documents

- Hypermedia – more than just text – images,


sound, etc.

- Web or Internet?
- The Web uses one of the protocols, http, that
1.3 Web Browsers
- Mosaic - NCSA (Univ. of Illinois), in early 1993
- First to use a GUI, led to explosion of Web use
- Initially for X-Windows, under UNIX, but was
ported to other platforms by late 1993

- Browsers are clients - always initiate, servers


react (although sometimes servers require
responses)

- Most requests are for existing documents, using


HyperText Transfer Protocol (HTTP)

- But some requests are for program execution,


with the output being returned as a document

1.4 Web Servers


- Provide responses to browser requests, either
existing documents or dynamically built
1.4 Web Servers (continued)
- All communications between browsers and
servers use Hypertext Transfer Protocol (HTTP)

- Web servers run as background processes in the


operating system

- Monitor a communications port on the host,


accepting HTTP messages when they appear

- All current Web servers came from either


1. The original from CERN
2. The second one, from NCSA

- Web servers have two main directories:

1. Document root (servable documents)


2. Server root (server system software)

- Document root is accessed indirectly by clients

- Its actual location is set by the server


configuration file
- Requests are mapped to the actual location
1.4 Web Servers (continued)
- Proxy servers

- Web servers now support other Internet protocols

- Apache (open source, fast, reliable)

- Began as the NCSA server, httpd

- Maintained by editing its configuration file

- IIS

- Maintained through a program with a GUI


interface
1.5 URLs
- General form:

scheme:object-address

- The scheme is often a communications protocol,


such as telnet or ftp

- For the http protocol, the object-address is:


fully qualified domain name/doc path

- For the file protocol, only the doc path is needed

- Host name may include a port number, as in


zeppo:80 (80 is the default, so this is silly)

- URLs cannot include spaces or any of a collection


of other special characters (semicolons, colons, ...)

- The doc path may be abbreviated as a partial path


- The rest is furnished by the server configuration
1.6 Multipurpose Internet Mail
Extensions (MIME)
- Originally developed for email

- Used to specify to the browser the form of a file


returned by the server (attached by the server to
the beginning of the document)

- Type specifications
- Form:
type/subtype

- Examples: text/plain, text/html, image/gif,


image/jpeg

- Server gets type from the requested file name’s


suffix (.html implies text/html)

- Browser gets the type explicitly from the server

- Experimental types

- Subtype begins with x-


e.g., video/x-msvideo
1.7 The HyperText Transfer Protocol
- The protocol used by ALL Web communications

- Request Phase

- Form:
HTTP method domain part of URL HTTP ver.
Header fields
blank line
Message body

- An example of the first line of a request:

GET /cs.uccp.edu/degrees.html HTTP/1.1

- Most commonly used methods:

GET - Fetch a document


POST - Execute the document, using the data in
body
HEAD - Fetch just the header of the document
1.7 The HyperText Transfer Protocol
(continued)

- Four categories of header fields:

General, request, response, & entity

- Common request fields:

Accept: text/plain

Accept: text/*

If-Modified_since: date

- Common response fields:

Content-length: 488

Content-type: text/html

-Can communicate with HTTP without a browser


1.7 The HyperText Transfer Protocol
(continued)

- Response Phase

- Form:
Status line
Response header fields
blank line
Response body

- Status line format:


HTTP version status code explanation

- Example: HTTP/1.1 200 OK

(Current version is 1.1)

- Status code is a three-digit number; first digit


specifies the general status

1 => Informational
2 => Success
3 => Redirection
1.7 The HyperText Transfer Protocol
(continued)

- An example of a complete response header:

HTTP/1.1 200 OK
Date: Tues, 18 May 2004 16:45:13 GMT
Server: Apache (Red-Hat/Linux)
Last-modified: Tues, 18 May 2004 16:38:38 GMT
Etag: "841fb-4b-3d1a0179"
Accept-ranges: bytes
Content-length: 364
Connection: close
Content-type: text/html, charset=ISO-8859-1

- Both request headers and response headers must


be followed by a blank line

1.8 Security
- There are many kinds of security problems with
the Internet and the Web
1.8 Security
- Security issues for a communication between a
browser and a server:
1. Privacy

2. Integrity

3. Authentication

4. Nonrepudiation

- The basic tool to support privacy and integrity


is encryption

- If the sender and the receiver both use the


same encryption key, the key must be
transmitted from the sender to the receiver

- Solution: (1976, Diffie and Hellman)


- Public-key encryption

- Use a public/private key pair


- Everyone uses your public key to
encrypt messages sent to you
1.8 Security
- RSA is the most widely used public-key
algorithm

- Another security problem: destruction of data on


computers connected to the Internet

- Viruses and worms

- Yet another common security problem:


Denial-of-Service (DoS)

- Created by flooding a Web server with


requests
1.9 The Web Programmer’s Toolbox
- XHTML

- To describe the general form and layout of


documents

- An XHTML document is a mix of content and


controls

- Controls are tags and their attributes

- Tags often delimit content and specify


something about how the content should be
arranged in the document

- Attributes provide additional information


about the content of a tag

- Tools for creating XHTML documents

- XHTML editors - make document creation easier


- Shortcuts to typing tag names, spell-checker,
1.9 The Web Programmer’s Toolbox
(continued)

- Plug ins

- Integrated into tools like word processors,


effectively converting them to WYSIWYG
XHTML editors

- Filters

- Convert documents in other formats to XHTML

- Advantages of both filters and plug-ins:

- Existing documents produced with other tools


can be converted to XHTML documents

- Use a tool you already know to produce XHTML

- Disadvantages of both filters and plug-ins:

- XHTML output of both is not perfect - must be


fine tuned
1.9 The Web Programmer’s Toolbox
(continued)

- XML

- A meta-markup language

- Used to create a new markup language for a


particular purpose or area

- Because the tags are designed for a specific


area, they can be meaningful

- No presentation details

- A simple and universal way of representing data


of any textual kind

- JavaScript

- A client-side XHTML-embedded scripting


language

- Only related to Java through syntax


1.9 The Web Programmer’s Toolbox
(continued)

- Java

- General purpose object-oriented programming


language

- Based on C++, but simpler and safer

- Our focus is on applets, servlets, and JSP

- Perl

- Provides server-side computation for


HTML documents, through CGI

- Perl is good for CGI programming because:

- Direct access to operating systems functions

- Powerful character string pattern-matching


operations
1.9 The Web Programmer’s Toolbox
(continued)

- PHP

- A server-side scripting language

- An alternative to CGI

- Similar to JavaScript

- Great for form processing and database access


through the Web

- Ruby

- A pure object-oriented interpreted scripting


language

- Every data value is an object, and all operations


are via method calls

- Most operators can be redefined by the user

- Both classes and objects are dynamic


1.9 The Web Programmer’s Toolbox
(continued)

- Rails

- A development framework for Web-based


applications

- Particularly useful for applications that access


databases

- Written in Ruby and uses Ruby as its primary


user language

- Based on the Model-View-Controller


architecture

- Ajax

- Asynchronous JavaScript + XML


- No new technologies or languages

- Much faster for Web applications that have


extensive user/server interactions

You might also like