ECT 270 Client-side Web Application Development
710 likes | 735 Views
Overview of networking, Internet, WWW, Unix survival. Covers HTML, CSS, JavaScript. Taught by Professor Robin Burke. Includes assignments and projects. Learn how to create web pages and applications.
ECT 270 Client-side Web Application Development
E N D
Presentation Transcript
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