CSE4135 1
CSE4135
WEB PROGRAMMING
Lecturer: Md. Rakib Hasan
15 The INTERNET… and a bit of history
CSE4135
What is the internet?
3
A “series of tubes”
How many Internets are out there?
Is Google one of them?
CSE4135
What is the internet?
4
A collection of computer networks that use a
protocol to exchange data
Is the World Wide Web (WWW) and the internet
the same?
CSE4135
Brief history
5
Began as a US Department of Defense
network called ARPANET (1960s-70s)
Packet switching (in the 60s)
E-mail is born on 1971
TCP/IP beginning on 1974 (Vinton Cerf)
USENET (1979)
By 1987: Internet includes
nearly 30,000 hosts
CSE4135
Brief history (cont.)
6
WWW created in 1989-91 by Tim Berners-Lee
Popular web browsers released:
Netscape 1994
IE 1995
Amazon.com opens in 1995
Google January 1996
Wikipedia launched in 2001
MySpace opens in 2003
Facebook February 2004
CSE4135
Wikipedia launched in 2001
MySpace opens in 2003
Facebook February 2004
7 CS380
The future of the internet?
8
CSE4135
Key aspects of the internet
9
Sub-networks are independent
Computers can dynamically join and leave the
network
Built on open standards
Lack of centralized control (mostly)
Everyone can use it with simple, commonly
available software
CSE4135
People and organizations
10
Internet Engineering Task Force (IETF): internet
protocol standards
Internet Corporation for Assigned Names and
Numbers (ICANN): decides top-level domain
names
World Wide Web Consortium (W3C): web
standards
CSE4135
Layered architecture
11 CS380
Internet Protocol (IP)
12
Simple protocol for data exchange between
computers
IP Addresses:
32-bit for IPv5
128-bit for IPv6
CS380
Transmission Control Protocol
13
(TCP)
Adds multiplexing, guaranteed message delivery on
top of IP
Multiplexing: multiple programs using the same IP
address
Port: a number given to each program or service
port 80: web browser (port 443 for secure browsing)
port 25: email
port 22: ssh
Some programs (games, streaming media programs)
use simpler UDP protocol instead of TCP
ICT-705
Web Servers
14
Web server: software that listens for web page
requests
Apache
Microsoft Internet
Information Server (IIS)
CSE4135
Application Server
15
Software framework that provides an environment
where applications can run
Apache
Glassfish
WebSphere
WebLogic
CSE4135
Web Browser
16
Web browser: fetches/displays documents from
web servers
Mozilla Firefox
Microsoft Internet Explorer (IE)
Apple Safari
Google Chrome
Opera
CSE4135
Domain Name Server (DNS)
17
Set of servers that map written names to IP
addresses
Example: ju.edu → 204.29.160.73
Many systems maintain a local cache called a hosts
file
Windows: C:\Windows\system32\drivers\etc\hosts
Mac: /private/etc/hosts
Linux: /etc/hosts
CSE4135
Uniform Resource Locator (URL)
18
Identifier for the location of a document on a web
site
Example: http://dept.ju.edu/cs/index.html
Upon entering this URL into the browser, it would:
ask the DNS server for the IP address of dept.ju.edu
connect to that IP address at port 80
ask the server to GET /cs/index.html
display the resulting page on the screen
CSE4135
19
Simple URL
CSE4135
20
Complex URL
CSE4135
Hypertext Transport Protocol
21
(HTTP)
Set of commands understood by a web server and
sent from a browser
Some HTTP commands (your browser sends these
internally):
GET filename : download
POST filename : send a web form response
PUT filename : upload
Exercise: simulate a browser with a terminal
window
CSE4135
HTTP Error Codes
22
When something goes wrong, the web server
returns a special "error code" number
Common error codes:
Number Meaning
200 OK
page has moved (permanently or
301-303
temporarily)
you are forbidden to access this
403
page
404 page not found
500 internal server error
CSE4135
Internet Media (“MIME”) types
23
MIME type file extension
text/html .html
text/plain .txt
image/gif .gif
image/jpeg .jpg
video/quicktime .mov
application/octet-stream .exe
CSE4135
Web Languages
24
Hypertext Markup Language (HTML): used for
writing web pages
Cascading Style Sheets (CSS): stylistic info for
web pages
PHP Hypertext Processor (PHP): dynamically
create pages on a web server
JavaScript: interactive and programmable web
pages
CSE4135
Web Languages(cont.)
25
Asynchronous JavaScript and XML (Ajax):
accessing data for web applications
eXtensible Markup Language (XML): meta-
language for organizing data
CSE4135