710 likes | 805 Views
ECT 270 Client-side Web Application Development. Professor Robin Burke. Introduction to the course. Overview of networking, the Internet and the WWW, Unix survival 1 st week HTML 3 weeks Cascading Style Sheets 1.5 weeks JavaScript 4 weeks. Information. Professor Robin Burke
E N D
ECT 270Client-side Web Application Development Professor Robin Burke
Introduction to the course • Overview of networking, the Internet and the WWW, Unix survival • 1st week • HTML • 3 weeks • Cascading Style Sheets • 1.5 weeks • JavaScript • 4 weeks
Information • Professor Robin Burke • Office: CST 453 – CTI building • Email: rburke@cs.depaul.edu • Phone: 312-362-5910 • Office hours: 10 am – 1 pm on Monday • Also by appointment!
Resources • Course web site • http://josquin.cs.depaul.edu/~rburke/courses/f03/ect270/ • Course On-Line • for submitting homework • for discussion forum
What you need • Prerequisites • CSC 211 & ECT 250 • Texts • Carey, P. Creating Web Pages with HTML and XML / Creating Web Pages with Dynamic HTML • Possibly other on-line readings • Materials • Diskettes to store work • Unix account on students.depaul.edu (shrike) • Verify your user id and password ASAP. Contact ID card services – DePaul Center 9700, SAC 182
Grading • 7 assignments • more or less weekly • quizzes on most assignment due dates • 40% • Midterm • not multiple choice • will not require you to memorize HTML details • 30% • Final project • Group project • Details in Week 5 • 30%
Academic Integrity Acts of plagiarism or cheating will not be accepted – any violation of the academic integrity policy will be punished and may result in an “F” grade. Plagiarism & cheating include (but are not limited to) • Direct copying of any source without proper acknowledgement. • You may only use code that you did not write if given permission by the instructor to do so. Code so used must be clearly cited. • Pictures or text copied by other websites are acceptable, as long as proper acknowledgment is specified. • Using material prepared for other purpose, e.g. submissions for other courses • Submitting work prepared by someone else or copying material from someone else. • Refer to the course information & the DePaul University academic integrity policy
Outline • Networking • Internet • Protocols • Addressing • Web • Protocol • History • Break • Using shrike • Crash course on Unix
What is the Internet • The Internet is an interconnected network of thousands of networks and computers. ( “inter-network”) • Began in the 1960s as a Department of Defense project • The World Wide Web is just one of the services that run on the Internet.
What is a network? • Computer system that links two or more computers - To share data, info, hardware, software • Local Area Network (LAN) • A collection of computers that share hardware, software and data over a small geographical area (home, office, school lab) • Wide Area Network (WAN) • It spans a wider area (offices, schools, cities, countries) • Connects different LANs
Protocols • Because networks use a wide variety of hardware and software, protocols are needed to coordinate communication and data transmission. • A protocol is a set of rules for the exchange of data across communication lines.
Need for Protocol • Client programs must know how to state requests • Server must know how to interpret • The protocol is the agreement • Important • A weak or inflexible protocol limits what can be done • A complex protocol may be difficult to implement
Addressing • The IP protocol has to know where to send its packets • “Routing” • To route a packet we need its address • “IP Address”
IP Addresses • A host on the Internet must have an IP address • 32-bit number • divided in four 8-bit numbers • Written with a dot in between • 14.192.1.100 • Each number ranges from 0-255 • Some addresses have a special interpretation • 127.0.0.1
IP Addresses, cont’d • In general • the farther to the right in the address • the closer to a particular host • 14.192.1.100 • all of the machines with 14.192.1 addresses • are probably in a LAN • all of the machines with 14.192 addresses • might be owned by the same organization
Problem #1 • can we run out? • 2^32 addresses • Answer • yes • Solution • IPv6 = 128 bit addresses • starting to be available now
Problem #2 • How to keep track of lots of 32-bit numbers • Would you rather type • 207.171.183.16 or • amazon.com • Solution • domain naming system
Organization name Host name Organization name Org. type (top level domain) Domain Name Server • A Domain Name Server (DNS) is responsible for the mapping between domain names and IP addresses. .com .org .gov .mil .net .it .museum .biz bach.cs.depaul.edu IP address: 140.192.32.50
DNS • One of the few centralized services in a distributed Internet • Everybody must agree on what name matches what number • Site creator must go through a domain registration process • claim a name • associate it with an address
Client/server interaction • A lot of Internet applications work under the client/server model • Server • knows something, or • can do something • Client • wants to know something, or • wants to do something
Client/server cont’d • Client • sends request • Server • sends response • Example: Email • A central computer stores and forwards electronic mail • Client computers contact the server to get email for a particular user
Protocols for client/server internet applications • Simple Mail Transfer Protocol (SMTP): transferring email messages from one machine to another • File Transfer Protocol (FTP): transferring files between local and remote machines. • Telnet: a terminal emulation protocol used to login in remotely. • Telent now superceded by ssh • increased security
HyperText Transfer Protocol • HTTP is the protocol responsible for transferring and displaying web pages. • HTTP uses the client/server model of computing. • The client is the user’s web browser (I.E, Netscape) • The server is the web server where the page resides. (www.nyt.com)
HTTP Protocol • Request • “I want something” • Response • “Here it is” • or “Not found” • Headers • Body
A Typical HTTP Exchange Netscape’s URL Window Client: Please open a connection to ‘www.nytimes.com’ and send me the default file. I am located at IP Address 140.192.1.6. NY Times Web Server Server: Let me check…. Okay, the default file at this site is of type HTML. It is 1749 bytes in size. The date is Tue, May 2nd at 15:33:33. NY Times Web Page
Uniform resource locator • People on the Web use a naming convention • called the uniform resource locator (URL). • A URL consists of at least two and as many as • four parts. • A simple two part URL contains the protocol • used to access the resource followed by the • location of the resource. • Example: http://www.cs.depaul.edu/ • A more complex URL may have a file name • and a path where the file can be found.
A Web URL deconstructed The protocolused path that identifieslocation ofdocument uniquely domain document name The user is a directory in the system http://josquin.cs.depaul.edu/~rburke/courses/f03/index.html
Note • Path may not correspond to files/folders • The web server is free to interpret the path however it likes • 80% of the time • the path indicates a location in a file system where a file is stored
Other URLs • FTP URL • ftp://rburke4@condor.depaul.edu/ • Access my files on condor using File Transfer Protocol • Email URL • mailto:rburke@cs.depaul.edu • mailto scheme for electronic mail addresses • Newsgroup URL • news:dpu.general • news scheme for USENET news groups and articles
Prehistory of the Web • In the 1960s Douglas Englebart, created the first experimental hypertext system: Augment • 1984: Apple releases the HyperCard program as part of its graphical user interface operating system Macintosh. • Introducing hypertext as a widely-available commercial product.
Hypertext Documents • Hypertext refers to a document that its connected with other documents in many ways • Hypertext systems have been around for a long time • 1960s • Why was the web an innovation? • keep this question in mind
CERN and hypertext • In 1990 CERN, a lab for particle Physics in Geneva, had been connected to the Internet for 2 years. Scientists were looking for better ways to circulate their scientific papers and data. • Tim Berners-Lee proposed an hypertext development project.
The birth of the Web • In the next two years Berners-Lee developed the code for an hypertext server program and made it available on the Internet. • He envisioned the set of links to and from computers worldwide as a spider web, hence the name World Wide Web. • The CERN is considered the birth place of the WWW.
What did Berners-Lee invent? • HTTP • The protocol for distributing web pages • HTML • The language for describing web pages
HTML Documents • Most web pages are HTML documents • HTML • HyperText Markup Language • A language for describing the contents of a hypertext page
Web browser history • A web browser is a user interface that allows users to read (browse) HTML documents. It acts as a web client. • The first browsers were text based. • In 1993 Andreessen developed the first browser with a graphical user interface, named Mosaic. • In 1994 Andreessen developed Netscape • In 1995 Microsoft released free Internet Explorer starting the “Browser Wars”. • In 1998, Netscape was clearly losing. Launched mozilla.org • Made a browser based on Netscape code open-source
This figure shows a Web page is not only a source of information, it can also be a work of art. graphic image links interesting fonts The Web designer has a great deal of control over the format of the page. Web Page with Interesting Fonts, Graphics, and Layout
Terminology • Web browser • a client program that can render (display) web pages • and other media • wide variety: text, graphical, cell phone, etc. • Web server • a server program that responds to web requests and delivers web pages • and other media • Proxy / gateway / cache / firewall / load balancer • Special programs or devices that are "middlemen" in the communication between browser and server • Improve efficiency, security, etc.
More terminology • web page • an HTML document that can be viewed in a web browser • hyperlink • a special notation in an HTML document that points to an Internet resource
More terminology • client-side • processing that takes place within or associated with the web client, or browser • server-side • processing that takes place within or associated with the web server • web application • any software application whose mode of delivery is the WWW
The name of this class • Client-side Web Application Development • We will be developing • web applications • that make use of the browser
Why the Web? • The protocols that made linking possible were open • The concept of linking extended to an open-ended set of Internet protocols • The concept of inclusion of images by a mechanism similar to linking • The use of one-way links with minimal bookkeeping requirements
Open protocols • The web protocol (HTTP) is open • Meaning • anyone can write a web server • anyone can write a web browser • anyone can author web pages • there is a well-defined public mechanism for revising and extending the standard • Not true of earlier hypertext technologies
Tools for building and maintaining your web site • shrike.depaul.edu • a server computer • running the Apache web server • Various programs for site building • telnet: run commands on shrike • ftp: move files to and from shrike • browser: for viewing your files • text editor: for working with HTML files