1 Intro to Internet & Web

Download Report

Transcript 1 Intro to Internet & Web

1. Introduction to Internet and to
the Web
Motto
People are using the web to build things they have not built or
written or drawn or communicated anywhere else.
—Tim Berners-Lee
History: ARPANET
• Developed in late 1960’s by ARPA
– Advanced Research Projects Agency, Dept. of Defense
• Connected computers in a dozen of universities and
institutions
– 56KB communications lines
• Allowed computers to be shared
• Key benefit: fast communication between
researchers
– email !
• Precursor of Internet
Goals of ARPANET
• Multiple users can simultaneously send and receive data
• Must withstand nuclear attack
– No centralized control
– If a piece of the network fails, other portions will still route the
packets
Achievements of ARPANET
• Pioneered packet switching
– Data is sent in small "packets"
– Packets contain data, address, error-control, sequencing info
– Greatly reduced transmission costs
• Transmission Control Protocol (TCP)
– Common protocol
– Ensures that messages are properly routed and that they
arrive intact
• Used both for inter- and intra-communication
• Connected huge variety of hardware and software
Internet: How it Grew
• Initially only universities and research
institutions
• Military became big user
• Clinton government opened Internet for
commercial purposes
– Businesses invested heavily in Internet improvements
– Fierce competition among communications carriers and
hardware and software suppliers
– Massive increase in bandwidth
– Plummeting costs
Internet: Standards & Applications
• Tim Berners-Lee at CERN
– Invents Hypertext Transfer Protocol (HTTP)
• communications protocol for the web
– Invents HyperText Markup Language (HTML)
• describe data and its appearance
– Coins the term World Wide Web
• 1993 First browser: Mosaic
– Web becomes usable for the public
• Netscape Company
– Commercial browser
– Initiates the explosive Internet of late 1990s
W3C
• World Wide Web Consortium
– www.w3.org
– Founded in 1994 by Tim Berners-Lee
• Goals
Web 2.0
– Make Internet universally accessible
– Standards
•
•
•
•
HyperText Markup Language (HTML— getting obsolete)
Extensible HyperText Markup Language (XHTML)
Cascading Style Sheets (CSS)
Extensible Markup Language (XML)
Web 1.0
• 1990s and early 2000s
• Big companies fight browser wars
– Microsoft vs. Netscape
•
•
•
•
•
Search engines vie for eyeballs
Every web site wants to be THE portal
A few companies produce content
Users browse
“brochure web”
2003+: Web 2.0
• New technologies
– Storage became abundant
– Ajax
– Rich Interaction Applications
– Software as a Service (SaaS)
• Make new ways of using the web possible
– Users create the content
• Companies provide the platforms
– Wikipedia, eBay, MySpace, Facebook, Flickr, YouTube
Web Services
• Functionality of existing applications and
websites is provided to public
• Large companies provide services
– Amazon Web Services, Google Maps
• Small businesses create niche web
applications
– e.g. combine maps web services with classifieds
Future: Web x.0
• Semantic Web
– Understand the meaning of the data on the web
• Petabyte statistics
– Is it needed to understand the web?
– Inferences based on super-huge data amounts
work
Web Elements: Markup Languages
• Define data
• Platform-independent
• HTML
–
–
–
–
HyperText Markup Language
defines web page elements and their layout
fixed, predefined elements and grammar
elements can overlap, not strictly a tree
• XML
–
–
–
–
eXtended Markup Language
arbitrary elements
strictly hierarchical
processed using scripting languages
• XHTML
– XML–compliant HTML
Web Elements: Programming
Languages
• Scripting Languages
– interpreted
• slow to execute
• flexible: direct evaluation of text as code possible
– e.g. JavaScript, Perl, ActionScript, PHP, Ruby on Rails
• Compiled (or Hybrid) Languages
– e.g. C, C++, Java, C#
• extra compilation step
• fast execution
– hybrid: compiled into intermediate code, then interpreted
– used on server-side
Scripting vs. Compiled Languages
• Scripting languages start executing fast,
but are much slower during execution
– no compilation step
– interpreters are slow
• Scripting languages are easier to port to another
platform
– It is harder to write a compiler than to write an interpreter
• Scripting languages are more dynamic
– e.g., server-side applications can generate code and send it to the
browser where it can then be immediately interpreted
Object-Oriented Programming
• Vastly superior paradigm
• Programmers can be more productive
– software can be easier to write, understand,
debug and modify
• Reusable software components
– Extensive free libraries are available online!
• Languages for Web programming are objectoriented – take advantages of it
– JavaScript, Java, C#, ActionScript
Tasks
• Read textbook Chapter 1 and Chapter 2