Web Programming. Robert M. Dondero, Ph.D. Princeton University



Similar documents
Web Design and Development ACS-1809

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

Web Browsing Examples. How Web Browsing and HTTP Works

URLs and HTTP. ICW Lecture 10 Tom Chothia

World Wide Web. Before WWW

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence


Basic Internet programming Formalities. Hands-on tools for internet programming

Introduction to Dreamweaver

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Web Development. How the Web Works 3/3/2015. Clients / Server

Lesson Overview. Getting Started. The Internet WWW

Introduction to web development

Network Technologies

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

Instructor: Betty O Neil

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

Chapter 1 Introduction to web development and PHP

CONTENT of this CHAPTER

What is a Web Browser? Web Site Functionality. A client program that uses HTTP to communicate with web servers.

Modern Web Development From Angle Brackets to Web Sockets

Lecture 2. Internet: who talks with whom?

Chapter 27 Hypertext Transfer Protocol

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

Chapter 1. Introduction to web development

Working With Your FTP Site

People Data and the Web Forms and CGI CGI. Facilitating interactive web applications

CUNY TUMBLEWEED (SECURE TRANSPORT) USER GUIDE

Cyber Security Workshop Ethical Web Hacking

Introduction to web development and JavaScript

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server:

What is WS_FTP Server Web Transfer Module?...1 System Requirements...2. What is WS_FTP Server Web Transfer Module?

Data Communication I

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

Security Issues in Web Programming. Robert M. Dondero, Ph.D. Princeton University

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

HomeWorks P5 Processor Ethernet TCP / IP Networking Specification

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

End User Guide The guide for /ftp account owner

Wavecrest Certificate

1 Introduction: Network Applications

Application layer Web 2.0

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

SPLIT BLOCK FINAL Web Design

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)

7 Why Use Perl for CGI?

Experian Secure Transport Service

The Web History (I) The Web History (II)

Introduction to XHTML. 2010, Robert K. Moniot 1

Domain Name System (DNS)

Client-Side Web Programming (Part 2) Robert M. Dondero, Ph.D. Princeton University

Welcome to the TransPerfect Translations Secure File Transfer Website What is Secure FTP?

What is Aconex Local Copy? Controlling Access to a Datastore Hardware Requirements Software Requirements Installing Aconex Local Copy Troubleshooting

Using Microsoft Expression Web to Upload Your Site

OCS Training Workshop LAB13. Ethernet FTP and HTTP servers

SWE 444 Internet and Web Application Development. Introduction to Web Technology. Dr. Ahmed Youssef. Internet

JISIS and Web Technologies

Lepide Active Directory Self Service. Configuration Guide. Follow the simple steps given in this document to start working with

Apache JMeter HTTP(S) Test Script Recorder

TIME SCHEDULE OBJECTIVES

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

SBBWU PROXY SETTING IT CENTRE How to Set a Proxy Server in All Major Internet Browsers for Windows

Short notes on webpage programming languages

Manual. Netumo NETUMO HELP MANUAL Copyright Netumo 2014 All Rights Reserved

IC3 Internet and Computing Core Certification Guide

Lab - Observing DNS Resolution

Previewing & Publishing

How to Configure edgebox as a Web Server

Blue Coat Security First Steps Solution for Deploying an Explicit Proxy

An Introduction To The Web File Manager

Application Monitoring using SNMPc 7.0

ICT 6012: Web Programming

COMP 112 Assignment 1: HTTP Servers

If you examine a typical data exchange on the command connection between an FTP client and server, it would probably look something like this:

Oct 15, Internet : the vast collection of interconnected networks that all use the TCP/IP protocols

WHAT IS A WEB SERVER?

WEB DEVELOPMENT IA & IB (893 & 894)

Connecting with Computer Science, 2e. Chapter 5 The Internet

ICE Trade Vault. Public User & Technology Guide June 6, 2014

IT3503 Web Development Techniques (Optional)

Sophos Mobile Control Installation guide. Product version: 3.5

Sophos Mobile Control Installation guide. Product version: 3

Introduction to Web Technologies

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP - Message Format. The Client/Server model is used:

Web Design. Links and Navigation

ICAWEB502A Create dynamic web pages

ez Agent Administrator s Guide

1.0 Hardware Requirements:

Setting Up a Development Server

StreamServe Job Gateway

isupplier PORTAL ACCESS SYSTEM REQUIREMENTS

LISTSERV Maestro 6.0 Installation Manual for Solaris. June 8, 2015 L-Soft Sweden AB lsoft.com

Send and receive encrypted s

Lektion 2: Web als Graph / Web als System

Internet Technologies 4-http. F. Ricci 2010/2011

Lab 3.4.2: Managing a Web Server

Transcription:

Web Programming Robert M. Dondero, Ph.D. Princeton University 1

Objectives You will learn: The fundamentals of web programming... The hypertext markup language (HTML) Uniform resource locators (URLs) The hypertext transfer protocol (HTTP) 2

HTML A simple instance of the Standard Generalized Markup Language (SGML) SGML: you define the tags HTML: set of tags is predefined 3

HTML Documents An HTML document: Consists of plain text Text contains content and markup <tag>...</tag> <tag attribute="value">... </tag> <tag> <tag /> Markup describes presentation, i.e. how the text should be presented/rendered Tags and attributes are case insensitive 4

Rendering HTML Documents Renderer usually is a Web browser Popular browsers: Microsoft Internet Explorer (53%) Mozilla Firefox (29%) Google Chrome (8%) Apple Safari (6%) Opera (2%) (Several others) 5

Rendering HTML Documents Browser notes: Each browser provides a way to examine the HTML document it has rendered Firefox: View Page Source Good learning/debugging tool There are substantial differences among browsers Microsoft doesn't feel obliged to conform to standards Use Firefox for Web-related assignment(s) 6

Versions of HTML HTML 4.01 Strict Requires complete adherence to HTML 4.01 spec HTML 4.01 Transitional Allows some deprecated elements and attributes We'll use 7

Variants of HTML XML More strict syntax All tags must be closed by another All tags must be correctly nested... You define the tags! Tags can be semantic in nature See upcoming "XML" lecture 8

Variants of HTML XHTML 1.0 Same as HTML 4.01, but requires use of XML syntax 9

HTML Details See showhtml.html Document structure <!DOCTYPE...> <html> <head> <title>...</title> </head> <body>... </body> </html> 10

HTML Details Comments Heading tags Paragraph-level tags Empty tags Physical character formatting tags Logical character formatting tags Entity references Character references Lists Tables 11

Uniform Resource Locators Uniform Resource Locator (URL) Format: protocol://host:port/file protocol host We'll use http Others: file, https, ftp, mailto, See http://en.wikipedia.org/wiki/uri_scheme An IP address or domain name Recall "Network Programming" lecture 12

Uniform Resource Locators port A number Recall "Network Programming" lecture For HTTP protocol, default port is 80 file A filename Can specify a path Default file specified in web server settings Often index.html, index.php 13

Uniform Resource Locators Examples: http://www.cs.princeton.edu/~rdondero/index.html http://www.cs.princeton.edu:80/~rdondero/index.html 14

HTML (cont.) See showhtml.html (again) Links and anchors Forms Each "page link" specifies a URL Each form specifies a URL User commands browser to fetch page at a URL by: Typing the URL in the browser Clicking on a page link Submitting a form 15

Hypertext Transfer Protocol Hypertext Transfer Protocol (HTTP) A client/server protocol Server = web server Apache web server Apache Tomcat web server (written in Java, can interpret Java) Microsoft Internet Information Services (IIS) web server (for MS Windows) Client = browser (usually, but not necessarily) 16

HTTP Details Question: What happens when you: Type a URL which specifies the HTTP protocol? Click on a page link whose URL specifies the HTTP protocol? Submit a form whose URL specifies the HTTP protocol? Answer... 17

HTTP Details Browser Or could be POST; see next lecture Socket GET file HTTP/1.1 Host: host <Blank line> Redundant. Why? Web Server File system file 18

HTTP Details File system Web Server Socket HTTP/1.1 200 OK Date: date Server: server Content-Type: text/html <Blank line> <Contents of file> There are many others... Browser A "program" interpreted by the browser as per the content type 19

HTTP Content Types Content types text/html text/plain image/gif image/jpeg audio/mp4... See this page: http://en.wikipedia.org/wiki/internet_media_type 20

The Princeton CS Web Server Place html files in CS Dept file system (penguins) in this directory: ~YourLoginid/public_html Change directory/file permissions: chmod 755 ~YourLoginid chmod 755 ~YourLoginid/public_html chmod 644 ~YourLoginid/public_html/yourFile.html Browse to files using this URL: http://www.cs.princeton.edu/~yourloginid/yourfile.html 21

The Princeton CS Web Server Beware: Web server demands that directories/files be accessible to all Rules concerning plagiarism apply 22

HTTP via a Browser Use a browser to visit: http://www.cs.princeton.edu http://www.cs.princeton.edu:80 http://www.cs.princeton.edu/~rdondero/ http://www.cs.princeton.edu/~rdondero/index.html 23

HTTP via Telnet Using telnet: $ telnet www.cs.princeton.edu 80 GET / HTTP/1.1 Host: www.cs.princeton.edu <Enter> $ telnet www.cs.princeton.edu 80 GET /~rdondero/ HTTP/1.1 Host: www.cs.princeton.edu <Enter> $ telnet www.cs.princeton.edu 80 GET /~rdondero/index.html HTTP/1.1 Host: www.cs.princeton.edu <Enter> 24

HTTP via Python Code See browser.py Try: browser.py www.cs.princeton.edu 80 / browser.py www.cs.princeton.edu 80 /~rdondero/ browser.py www.cs.princeton.edu 80 /~rdondero/index.html 25

HTTP via Java Code See Browser.java Try: java Browser www.cs.princeton.edu 80 / java Browser www.cs.princeton.edu 80 /~rdondero/ java Browser www.cs.princeton.edu 80 /~rdondero/index.html 26

Summary We have covered: The fundamentals of web programming... The hypertext markup language (HTML) Uniform resource locators (URLs) The hypertext transfer protocol (HTTP) 27