Server-side computing

Size: px
Start display at page:

Download "Server-side computing"

Transcription

1 Server-side computing Why server-side? Approaches 1 Why server-side? Markup languages cannot Specify Computations Interactions with users Provide access to Server-side resources Databases Programs Services 2

2 Approaches programmer centered designer centered 3 programmer centered Document generation inside computation code CGI Java servlets 4

3 designer centered Computation code inside document template PHP ASP JSP 5 CGI: the Common Gateway Intefrace Let browsers request server-side execution Open source LAMP Linux, Apache, MySQL, Px Px Perl, PHP, Python 6

4 ASP or ASP.NET: Active Server Pages Microsoft 7 JSP: Java Server Pages Similar to ASP and ASP.NET Java-based Sun Microsystems 8

5 CGI Interface between browser and server HTTP request ==> Program instead of document Server recognizes by file Location Special directories Extension 9 CGI program Often stored in cgi-bin directory Produce complete HTTP response, or just URL of existing doc 10

6 CGI linkage Some CGI programs in machine code Perl programs usually kept in source form ==> must be run perl on them 11 source file can be made executable add line at beginning specifies language processing run first 12

7 For Perl programs if perl in /usr/local/bin/perl often in UNIX ==> #!/usr/local/bin/perl -w 13 for Perl CGI programs sometimes use file extension.cgi e.g., for the CGI Wrap system 14

8 HTML document specifies CGI program with hypertext reference attribute href, of anchor tag, <a> as in <a href =./cgi-bin/reply.cgi>" Click here to run the CGI program, reply.pl </a> 15 Communications and computation using CGI 16

9 Model... Browser server application Form Submit completed form Call CGI CGI CGI program's response CGI program's response 17 18

10 <!-- reply.html - calls a trivial cgi program --> <html> <head> <title> HTML to call the CGI-Perl program reply.cgi </title> </head> <body> This is our first CGI-Perl example <a href = "./cgi-bin/reply.cgi"> Click here to run the CGI program, reply.cgi </a> </body> </html> 19 CGI --> browser connection from CGI program back to requesting browser Through STDOUT Through server HTTP header needs only content type followed by blank line print "Content-type: text/html \n\n"; SHOW reply.cgi 20

11 Query string names and values of widgets values always coded as strings format of name/value pair name=value If form has more than one widget ==> values separated with ampersands milk=2&payment=visa special characters coded percent sign + two-character hexadecimal number = ASCII code of character Some browsers code spaces as + signs rather than as %20 get versus post HTTP methods 21 GET vs. POST... GET + Access CGI prog. w/ query without a form Pass parameters to program... Can send extra path info... Query might get truncated Post + Unlimited query length No canned queries (hard-coded url) 22

12 The CGI.pm Module - A Perl module serves as a library - Can be used as a function library or a class library - Get info about by typing perldoc CGI - The Perl use declaration is used to make a module available to a program - To make only part of a module available, specify the part name after a colon (For our purposes, only the standard part of the CGI module is needed) use CGI ":standard"; - Common Functions 23 The CGI.pm Module Perl module serves as library Can be used as function library or class library Info: perldoc CGI 24

13 Perl use declaration make module available to program to make only part of module available specify part name after colon For our purposes only need standard part of CGI module use CGI ":standard"; 25 Common CGI.pm Functions Shortcut functions produce tags using their parameters as attribute values br; returns "<br/>" 26

14 e.g., h2("very easy!"); returns <h2> Very easy! </h2> parameter to function h2 used as content of <h2> tag 27 function output to return doc call must be parameter to print print h2("very easy!"); 28

15 Tags can have both content and attributes Each attribute passed as name/value pair just as in hash literal Attribute names passed with preceding dash 29 textarea(-name => "Description", -rows => "2", -cols => "35" ); Produces: <textarea name ="Description" rows=2 cols=35> </textarea> 30

16 If both content and attributes passed to function attributes specified in hash literal as first parameter a({-href => "fruit.html"}, "Press here for fruit descriptions"); Output: <a href="fruit.html"> Press here for fruit descriptions</a> 31 Tags and their attributes distributed over parameters of function ol(li({-type => "square"}, ["milk", "bread", "cheese"])); Output: <ol> <li type="square >milk</li> <li type="square >bread</li> <li type="square >cheese</li> </ol> 32

17 CGI.pm also includes non-shortcut functions produce output for return to user call to header() produces: Content-type: text/html;charset=iso blank line The start_html function create head of return document <body> tag parameter to start_html used as title of document start_html("bill s Bags"); 34

18 DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0 //EN" " xhtml-basic10.dtd"> <html xmlns= " lang="en-us"> <head><title>bill s Bags</title> </head> <body> 35 The param function given a widget s name returns widget s value If, e.g., query string has name=abraham in it, param("name") will return "Abraham" 36

19 The end_html function generates </body></html> SHOW popcorn.html display popcorn.cgi 37 FIGURE 10.2 Display of popcorn.html 38

20 FIGURE 10.3 Display of popcorn.html, form filled out 39 FIGURE 10.4 Output of popcorn.cgi 40

21 A Survey Example - Use form to collect survey data from users - accumulate survey results, stored between form submissions in file on server 41 concurrent use of file ==> must be protected from corruption block other accesses while being updated Under UNIX, Perl function flock 42

22 parameter values for flock defined in Perl Fcntl module (write lock is LOCK_EX) To update file open file lock with flock modify rewind with seek close file --> SHOW conelec.html + display 43 Two CGI programs used 1. collect survey submissions and record new data 2. produce current totals file format eight lines each w/ 7 values first four for female responses last four for male responses 44

23 FIGURE 10.5 Display of conelec.html 45 To collect and record form data must: 1. Get form values (with param) 2. Determine row of file to be modified 3. Open, lock, and read survey data file 4. Split affected data string into numbers + store them in array 46

24 5. Modify affected array element & join array back into string (use gender to determine which half of data affected) 6. Rewind data file (with seek) 7. Rewrite and close survey data file --> SHOW conelec1.pl 47 Tables easier to specify with CGI.pm - table created with table function - border attribute specified as parameter - table s caption created with call to caption, as second parameter to table 48

25 - Each row of table is created with call to Tr - heading row created with call to th - Data cells created with calls to td - calls to Tr, th, and td require references as parameters 49 - Suppose have three arrays of sales numbers - one for each of three salespersons - each array has one value for each day of work week - want to build table of this information - using CGI.pm 50

26 table({-border => "border"}, caption("sales Figures"), Tr( [th(["salesperson", "Mon", "Tues", "Wed", "Thu", "Fri"]), ] ) ); 51 program that produces current results must: 1. Open file and read lines into array of strings 2. Split first four rows (responses from females) into arrays of votes for four age groups 3. Unshift row titles into vote rows (making them first elements) 4. Create column titles row with th put its address in array 52

27 5. Use td on each rows of votes 6. Push addresses of rows of votes onto row address array 7. Create table using Tr on array of row addresses 8. Repeat Steps 2-7 for last four rows of data (responses from males) 53 --> SHOW conelec2.cgi --> SHOW Figure

28 FIGURE 10.7 Survey results page Cookies - session = time span during which browser interacts with particular server - HTTP protocol is stateless - But, several reasons why useful for server to relate request to session - Shopping carts for many different simultaneous customers - Customer profiling for advertising - Customized interfaces for specific clients 56

29 Approaches to storing client information: - Store on server - too much to store! - Store on client machine - this works 57 cookie = small object of information name and text value created by some software system on server (maybe CGI program) Every HTTP communication between browser and server includes information in header about message when cookie created given lifetime Every time browser sends request to server that created cookie, while cookie is still alive cookie included 58

30 browser can be set to reject cookies - CGI.pm includes support for cookies cookie(-name => a_cookie_name, -value => a_value, -expires => a_time_value); - name can be any string - value can be any scalar value - time is a number followed by a unit code (d, s, m, h, M, y) 59 Cookies must be placed in HTTP header when header created header(-cookie => $my_cookie); To fetch cookies from HTTP request call cookie with no parameters hash of all current cookies returned To fetch value of one particular cookie send cookie s name to cookie function $age = cookie( age ); 60

31 Example: cookie that tells customer time of last visit to this site Use Perl function, localtime to get parts of time ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime; SHOW time_date.pl 61 CGI program to solve our problem: 1. Get cookie named last_time 2. Get current day of week month day of month & put them in cookie named last_time 3. Put cookie in header of return document 62

32 4. If no existing cookie produce welcome message for first-time visitor 5. If there was cookie produce welcome message includes previous day of week month day of month SHOW day_cookie.pl 63

CGI Programming. What is "CGI"?

CGI Programming. What is CGI? CGI Programming What is "CGI"? Common Gateway Interface A means of running an executable program via the Web. CGI is not a Perl-specific concept. Almost any language can produce CGI programs even C++ (gasp!!)

More information

CS105 Perl: Perl CGI. Nathan Clement 24 Feb 2014

CS105 Perl: Perl CGI. Nathan Clement 24 Feb 2014 CS105 Perl: Perl CGI Nathan Clement 24 Feb 2014 Agenda We will cover some CGI basics, including Perl-specific CGI What is CGI? Server Architecture GET vs POST Preserving State in CGI URL Rewriting, Hidden

More information

COSC 2206 Internet Tools. The HTTP Protocol

COSC 2206 Internet Tools. The HTTP Protocol COSC 2206 Internet Tools The HTTP Protocol http://www.w3.org/protocols/ What is TCP/IP? TCP: Transmission Control Protocol IP: Internet Protocol These network protocols provide a standard method for sending

More information

Hands-On Perl Scripting and CGI Programming

Hands-On Perl Scripting and CGI Programming Hands-On Course Description This hands on Perl programming course provides a thorough introduction to the Perl programming language, teaching attendees how to develop and maintain portable scripts useful

More information

3. WWW and HTTP. Fig.3.1 Architecture of WWW

3. WWW and HTTP. Fig.3.1 Architecture of WWW 3. WWW and HTTP The World Wide Web (WWW) is a repository of information linked together from points all over the world. The WWW has a unique combination of flexibility, portability, and user-friendly features

More information

COMS 359: Interactive Media

COMS 359: Interactive Media COMS 359: Interactive Media Agenda Project #3 Review Forms (con t) CGI Validation Design Preview Project #3 report Who is your client? What is the project? Project Three action= http://...cgi method=

More information

Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn about Server-side web programming in Python Common Gateway Interface

More information

Networking and Internet

Networking and Internet Today s Topic Lecture 13 Web Fundamentals Networking and Internet LAN Web pages Web resources Web client Web Server HTTP Protocol HTML & HTML Forms 1 2 LAN (Local Area Network) Networking and Internet

More information

Lecture 9a: Sessions and Cookies

Lecture 9a: Sessions and Cookies CS 655 / 441 Fall 2007 Lecture 9a: Sessions and Cookies 1 Review: Structure of a Web Application On every interchange between client and server, server must: Parse request. Look up session state and global

More information

Programming the World Wide Web by Robert W. Sebesta

Programming the World Wide Web by Robert W. Sebesta Programming the World Wide Web by Robert W. Sebesta Tired Of Rpg/400, Jcl And The Like? Heres A Ticket Out Programming the World Wide Web by Robert Sebesta provides students with a comprehensive introduction

More information

HTTP and HTML. We will use HTML as a frontend to our webapplications, therefore a basic knowledge of HTML is required, especially in forms.

HTTP and HTML. We will use HTML as a frontend to our webapplications, therefore a basic knowledge of HTML is required, especially in forms. HTTP and HTML We will use HTML as a frontend to our webapplications, therefore a basic knowledge of HTML is required, especially in forms. HTTP and HTML 28 January 2008 1 When the browser and the server

More information

HTML HTML. Chris Seddon CRS Enterprises Ltd 1

HTML HTML. Chris Seddon CRS Enterprises Ltd 1 Chris Seddon seddon-software@keme.co.uk 2000-12 CRS Enterprises Ltd 1 2000-12 CRS Enterprises Ltd 2 Reference Sites W3C W3C w3schools DevGuru Aptana GotAPI Dog http://www.w3.org/ http://www.w3schools.com

More information

Course Topics. The Three-Tier Architecture. Example 1: Airline reservations. IT360: Applied Database Systems. Introduction to PHP

Course Topics. The Three-Tier Architecture. Example 1: Airline reservations. IT360: Applied Database Systems. Introduction to PHP Course Topics IT360: Applied Database Systems Introduction to PHP Database design Relational model SQL Normalization PHP MySQL Database administration Transaction Processing Data Storage and Indexing The

More information

Outline. Introducing Form. Introducing Forms 2/21/2013 INTRODUCTION TO WEB DEVELOPMENT AND HTML

Outline. Introducing Form. Introducing Forms 2/21/2013 INTRODUCTION TO WEB DEVELOPMENT AND HTML Outline INTRODUCTION TO WEB DEVELOPMENT AND HTML Introducing Forms The element Focus Sending form data to the server Exercise Lecture 07: Forms - Spring 2013 Introducing Form Any form is declared

More information

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 2 Introduction to XHTML

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 2 Introduction to XHTML Chapter 2 Introduction to XHTML 2.1 Origins and Evolution of HTML HTML was defined with SGML Original intent of HTML: General layout of documents that could be displayed by a wide variety of computers

More information

UNIT I. A protocol is a precise set of rules defining how components communicate, the format of addresses, how data is split into packets

UNIT I. A protocol is a precise set of rules defining how components communicate, the format of addresses, how data is split into packets UNIT I Web Essentials: Clients, Servers, and Communication. The Internet- Basic Internet Protocols -The World Wide Web-HTTP request message-response message- Web Clients Web Servers-Case Study. Markup

More information

2.1 Origins and Evolution of HTML

2.1 Origins and Evolution of HTML 2.1 Origins and Evolution of HTML - HTML was defined with SGML - Original intent of HTML: General layout of documents that could be displayed by a wide variety of computers - Recent versions: - HTML 4.0

More information

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message.

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message. What is CGI? The Common Gateway Interface (CGI) is a set of standards that define how information is exchanged between the web server and a custom script. is a standard for external gateway programs to

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content

More information

Static Webpage Development

Static Webpage Development Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for PHP Given below is the brief description for the course you are looking for: - Static Webpage Development Introduction

More information

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0 WEB TECHNOLOGIES A COMPUTER SCIENCE PERSPECTIVE CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0 Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson reserved. 0-13-185603-0 HTML HELLO WORLD! Document

More information

Programming the Web 06CS73 INTRODUCTION AND OVERVIEW. Dr. Kavi Mahesh, PESIT, Bangalore. Textbook: Programming the World Wide Web

Programming the Web 06CS73 INTRODUCTION AND OVERVIEW. Dr. Kavi Mahesh, PESIT, Bangalore. Textbook: Programming the World Wide Web Programming the Web 06CS73 INTRODUCTION AND OVERVIEW Dr. Kavi Mahesh, PESIT, Bangalore Textbook: Programming the World Wide Web Introduction: Internet and World-Wide Web Internet History Internet Protocols

More information

Web Programming. Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun.

Web Programming. Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun. Web Programming Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun. 1 World-Wide Wide Web (Tim Berners-Lee & Cailliau 92)

More information

Chapter 10 Servlets and Java Server Pages

Chapter 10 Servlets and Java Server Pages Chapter 10 Servlets and Java Server Pages 10.1 Overview of Servlets A servlet is a Java class designed to be run in the context of a special servlet container An instance of the servlet class is instantiated

More information

CERTIFICATE IN WEB PROGRAMMING

CERTIFICATE IN WEB PROGRAMMING COURSE DURATION: 6 MONTHS CONTENTS : CERTIFICATE IN WEB PROGRAMMING 1. PROGRAMMING IN C and C++ Language 2. HTML/CSS and JavaScript 3. PHP and MySQL 4. Project on Development of Web Application 1. PROGRAMMING

More information

Summary 4/5. (contains info about the html)

Summary 4/5. (contains info about the html) Summary Tag Info Version Attributes Comment 4/5

More information

A Brief Introduction to HTML

A Brief Introduction to HTML A P P E N D I X HTML SuMMAry J A Brief Introduction to HTML A web page is written in a language called HTML (Hypertext Markup Language). Like Java code, HTML code is made up of text that follows certain

More information

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology Java Applets, etc. Instructor: Dmitri A. Gusev Fall 2007 CS 502: Computers and Communications Technology Lecture 25, December 5, 2007 CGI (Common Gateway Interface) CGI is a standard for handling forms'

More information

1.264 Lecture 12. HTML Introduction to FrontPage

1.264 Lecture 12. HTML Introduction to FrontPage 1.264 Lecture 12 HTML Introduction to FrontPage HTML Subset of Structured Generalized Markup Language (SGML), a document description language SGML is ISO standard Current version of HTML is version 4.01

More information

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 11 Introduction to PHP

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 11 Introduction to PHP Chapter 11 Introduction to PHP 11.1 Origin and Uses of PHP Developed by Rasmus Lerdorf in 1994 PHP is a server-side scripting language, embedded in XHTML pages PHP has good support for form processing

More information

2.1 Origins and Evolution of HTML

2.1 Origins and Evolution of HTML 2.1 Origins and Evolution of HTML - HTML was defined with SGML - Original intent of HTML: General layout of documents that could be displayed by a wide variety of computers - Recent versions: - HTML 4.0

More information

PHP CURRICULUM 6 WEEKS

PHP CURRICULUM 6 WEEKS PHP CURRICULUM 6 WEEKS Hands-On Training In this course, you develop PHP scripts to perform a variety to takes, culminating in the development of a full database-driven Web page. Exercises include: Accessing

More information

2.1 Origins and Evolution of HTML. 2.3 HTML Document Structure

2.1 Origins and Evolution of HTML. 2.3 HTML Document Structure Chapter 2 Introduction to XHTML 2.1 Origins and Evolution of HTML HTML was defined with SGML Original intent of HTML: General layout of documents that could be displayed by a wide variety of computers

More information

Basic HTML. Lecture 14. Robb T. Koether. Hampden-Sydney College. Wed, Feb 20, 2013

Basic HTML. Lecture 14. Robb T. Koether. Hampden-Sydney College. Wed, Feb 20, 2013 Basic HTML Lecture 14 Robb T. Koether Hampden-Sydney College Wed, Feb 20, 2013 Robb T. Koether (Hampden-Sydney College) Basic HTML Wed, Feb 20, 2013 1 / 36 1 HTML 2 HTML File Structure 3 HTML Elements

More information

Basic HTML. Lecture 14. Robb T. Koether. Hampden-Sydney College. Wed, Feb 20, 2013

Basic HTML. Lecture 14. Robb T. Koether. Hampden-Sydney College. Wed, Feb 20, 2013 Basic HTML Lecture 14 Robb T. Koether Hampden-Sydney College Wed, Feb 20, 2013 Robb T. Koether (Hampden-Sydney College) Basic HTML Wed, Feb 20, 2013 1 / 26 1 HTML 2 HTML File Structure 3 HTML Elements

More information

Introduction. Server-side Techniques. Introduction. 2 modes in the PHP processor:

Introduction. Server-side Techniques. Introduction. 2 modes in the PHP processor: Introduction Server-side Techniques PHP Hypertext Processor A very popular server side language on web Code embedded directly into HTML documents http://hk2.php.net/downloads.php Features Free, open source

More information

1.1 A Brief Intro to the Internet

1.1 A Brief Intro to the Internet 1.1 A Brief Intro to the Internet - Origins - ARPAnet - late 1960s and early 1970s - Network reliability - For ARPA-funded research organizations - BITnet, CSnet - late 1970s & early 1980s - email and

More information

Web, HTTP and Web Caching

Web, HTTP and Web Caching Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects

More information

( A ) 8. If the address of an array is stored in $value, how do you get the values of this array? (B) \$value (C) &$value (D) $$value

( A ) 8. If the address of an array is stored in $value, how do you get the values of this array? (B) \$value (C) &$value (D) $$value CS 665 Information Delivery on the Internet Final Exam - Name: Fall 2002 Part 1: (75 points - 3 points for each problem) ( A ) 1. What protocol is used by all Web communications transactions? (A) HTTP

More information

NETB 329 Lecture 13 Python CGI Programming

NETB 329 Lecture 13 Python CGI Programming NETB 329 Lecture 13 Python CGI Programming 1 of 83 What is CGI? The Common Gateway Interface, or CGI, is a set of standards that define how information is exchanged between the web server and a custom

More information

Basic HTML Lecture 14

Basic HTML Lecture 14 Basic HTML Lecture 14 Robb T. Koether Hampden-Sydney College Fri, Feb 17, 2012 Robb T. Koether (Hampden-Sydney College) Basic HTMLLecture 14 Fri, Feb 17, 2012 1 / 25 1 HTML 2 HTML File Structure 3 Headings

More information

Real Life Web Development. Joseph Paul Cohen

Real Life Web Development. Joseph Paul Cohen Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your

More information

PHP + ANGULAR4 CURRICULUM 6 WEEKS

PHP + ANGULAR4 CURRICULUM 6 WEEKS PHP + ANGULAR4 CURRICULUM 6 WEEKS Hands-On Training In this course, you develop PHP scripts to perform a variety to takes, culminating in the development of a full database-driven Web page. Exercises include:

More information

World Wide Web, etc.

World Wide Web, etc. World Wide Web, etc. Alex S. Raw data-packets wouldn t be much use to humans if there weren t many application level protocols, such as SMTP (for e-mail), HTTP & HTML (for www), etc. 1 The Web The following

More information

CSCB20 Week 8. Introduction to Database and Web Application Programming. Anna Bretscher* Winter 2017

CSCB20 Week 8. Introduction to Database and Web Application Programming. Anna Bretscher* Winter 2017 CSCB20 Week 8 Introduction to Database and Web Application Programming Anna Bretscher* Winter 2017 *thanks to Alan Rosselet for providing the slides these are adapted from. Web Programming We have seen

More information

Saving State on the WWW

Saving State on the WWW Saving State on the WWW The Issue Connections on the WWW are stateless Every time a link is followed is like the first time to the server it has no memory for connections Why Bother To Fix This? By saving

More information

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 7b: HTTP Feb. 24, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu WWW - HTTP/1.1 Web s application layer protocol

More information

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM Advanced Internet Technology Lab.

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM Advanced Internet Technology Lab. Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 5049 Advanced Internet Technology Lab Lab # 1 Eng. Haneen El-masry February, 2015 Objective To be familiar with

More information

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0 CSI 3140 WWW Structures, Techniques and Standards Markup Languages: XHTML 1.0 HTML Hello World! Document Type Declaration Document Instance Guy-Vincent Jourdan :: CSI 3140 :: based on Jeffrey C. Jackson

More information

Web development using PHP & MySQL with HTML5, CSS, JavaScript

Web development using PHP & MySQL with HTML5, CSS, JavaScript Web development using PHP & MySQL with HTML5, CSS, JavaScript Static Webpage Development Introduction to web Browser Website Webpage Content of webpage Static vs dynamic webpage Technologies to create

More information

Hypertext Transport Protocol

Hypertext Transport Protocol Hypertext Transport Protocol HTTP Hypertext Transport Protocol Language of the Web protocol used for communication between web browsers and web servers TCP port 80 HTTP - URLs URL Uniform Resource Locator

More information

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development.

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development. Chapter 8: Application Design and Development ICOM 5016 Database Systems Web Application Amir H. Chinaei Department of Electrical and Computer Engineering University of Puerto Rico, Mayagüez User Interfaces

More information

COMP284 Practical 3 Perl (3)

COMP284 Practical 3 Perl (3) COMP284 Practical 3 Perl (3) Introduction This practical contains further exercises that are intended to familiarise you with Perl Programming. While you work through the tasks below compare your results

More information

First Simple Interactive JSP example

First Simple Interactive JSP example Let s look at our first simple interactive JSP example named hellojsp.jsp. In his Hello User example, the HTML page takes a user name from a HTML form and sends a request to a JSP page, and JSP page generates

More information

Web technologies. Web. basic components. embellishments in browser. DOM (document object model)

Web technologies. Web. basic components. embellishments in browser. DOM (document object model) Web technologies DOM (document object model) what's on the page and how it can be manipulated forms / CGI (common gateway interface) extract info from a form, create a page, send it back server side code

More information

Lecture 12. PHP. cp476 PHP

Lecture 12. PHP. cp476 PHP Lecture 12. PHP 1. Origins of PHP 2. Overview of PHP 3. General Syntactic Characteristics 4. Primitives, Operations, and Expressions 5. Control Statements 6. Arrays 7. User-Defined Functions 8. Objects

More information

D B M G. Introduction to databases. Web programming: the HTML language. Web programming. The HTML Politecnico di Torino 1

D B M G. Introduction to databases. Web programming: the HTML language. Web programming. The HTML Politecnico di Torino 1 Web programming The HTML language The HTML language Basic concepts User interfaces in HTML Forms Tables Passing parameters stored in forms @2017 Politecnico di Torino 1 Basic concepts HTML: HyperText Markup

More information

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response

More information

2.1 Origins and Evolution of HTML

2.1 Origins and Evolution of HTML 2.1 Origins and Evolution of HTML - Derived from SGML - Original intent: General layout of documents that could be displayed by a wide variety of computers - Recent versions: - HTML 4.0-1997 - Introduced

More information

Unit 5 Web Publishing Systems Page 1 of 13 Part 4 HTML Part 4

Unit 5 Web Publishing Systems Page 1 of 13 Part 4 HTML Part 4 Unit 5 Web Publishing Systems Page 1 of 13 Part 4 HTML 4.01 Version: 4.01 Transitional Hypertext Markup Language is the coding behind web publishing. In this tutorial, basic knowledge of HTML will be covered

More information

- Origins - Rasmus Lerdorf Developed to allow him to track visitors to his Web site

- Origins - Rasmus Lerdorf Developed to allow him to track visitors to his Web site 9.1 Origins and Uses of PHP - Origins - Rasmus Lerdorf - 1994 - Developed to allow him to track visitors to his Web site - PHP was originally an acronym for Personal Home Page, but later it became PHP:

More information

Data Presentation and Markup Languages

Data Presentation and Markup Languages Data Presentation and Markup Languages MIE456 Tutorial Acknowledgements Some contents of this presentation are borrowed from a tutorial given at VLDB 2000, Cairo, Agypte (www.vldb.org) by D. Florescu &.

More information

Javascript, Java, Flash, Silverlight, HTML5 (animation, audio/video, ) Ajax (asynchronous Javascript and XML)

Javascript, Java, Flash, Silverlight, HTML5 (animation, audio/video, ) Ajax (asynchronous Javascript and XML) Web technologies browser sends requests to server, displays results DOM (document object model): structure of page contents forms / CGI (common gateway interface) client side uses HTML/CSS, Javascript,

More information

IT350 Web & Internet Programming. Fall 2012

IT350 Web & Internet Programming. Fall 2012 IT350 Web & Internet Programming Fall 2012 Asst. Prof. Adina Crăiniceanu http://www.usna.edu/users/cs/adina/teaching/it350/fall2012/ 2 Outline Class Survey / Role Call What is: - the web/internet? - web

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad - 500 043 INFORMATION TECHNOLOGY TUTORIAL QUESTION BANK Course Name Course Code Class Branch : Web Technologies : ACS006 : B. Tech

More information

1.1 A Brief Intro to the Internet

1.1 A Brief Intro to the Internet 1.1 A Brief Intro to the Internet - Origins - ARPAnet - late 1960s and early 1970s - Network reliability - For ARPA-funded research organizations - BITnet, CSnet - late 1970s & early 1980s - email and

More information

SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc.

SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc. SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc. Abstract This paper provides a detailed analysis of creating static and dynamic web content using the

More information

introduction to XHTML

introduction to XHTML introduction to XHTML XHTML stands for Extensible HyperText Markup Language and is based on HTML 4.0, incorporating XML. Due to this fusion the mark up language will remain compatible with existing browsers

More information

Database Applications

Database Applications Database Applications Database Programming Application Architecture Objects and Relational Databases John Edgar 2 Users do not usually interact directly with a database via the DBMS The DBMS provides

More information

CMSC 332 Computer Networking Web and FTP

CMSC 332 Computer Networking Web and FTP CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into

More information

Web Technology. HTML & xhtml

Web Technology. HTML & xhtml 01076541 Web Technology HTML & xhtml Introducing HTML and xhtml HTML standard is overseen by W3C Current major version is HTML 4.01 (release Dec. 1999) Added stricter rules to HTML 4.01 in Jan. 2000 creating

More information

About the Authors. Who Should Read This Book. How This Book Is Organized

About the Authors. Who Should Read This Book. How This Book Is Organized Acknowledgments p. XXIII About the Authors p. xxiv Introduction p. XXV Who Should Read This Book p. xxvii Volume 2 p. xxvii Distinctive Features p. xxviii How This Book Is Organized p. xxx Conventions

More information

CMPE 151: Network Administration. Servers

CMPE 151: Network Administration. Servers CMPE 151: Network Administration Servers Announcements Unix shell+emacs tutorial. Basic Servers Telnet/Finger FTP Web SSH NNTP Let s look at the underlying protocols. Client-Server Model Request Response

More information

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes

More information

(Refer Slide Time: 01:41) (Refer Slide Time: 01:42)

(Refer Slide Time: 01:41) (Refer Slide Time: 01:42) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #14 HTML -Part II We continue with our discussion on html.

More information

HTML Summary. All of the following are containers. Structure. Italics Bold. Line Break. Horizontal Rule. Non-break (hard) space.

HTML Summary. All of the following are containers. Structure. Italics Bold. Line Break. Horizontal Rule. Non-break (hard) space. HTML Summary Structure All of the following are containers. Structure Contains the entire web page. Contains information

More information

Creating Web Pages. Getting Started

Creating Web Pages. Getting Started Creating Web Pages Getting Started Overview What Web Pages Are How Web Pages are Formatted Putting Graphics on Web Pages How Web Pages are Linked Linking to other Files What Web Pages Are Web Pages combine

More information

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm. Web Technology COMP476 Networked Computer Systems - Paradigm The method of interaction used when two application programs communicate over a network. A server application waits at a known address and a

More information

The University of Nottingham

The University of Nottingham The University of Nottingham SCHOOL OF COMPUTER SCIENCE A LEVEL 1 MODULE, SPRING SEMESTER 2007-2008 Web Programming and Scripting Time allowed TWO Hours Solutions Turn over 2 1. Web enabling infrastructure

More information

HTML. HTML Evolution

HTML. HTML Evolution Overview stands for HyperText Markup Language. Structured text with explicit markup denoted within < and > delimiters. Not what-you-see-is-what-you-get (WYSIWYG) like MS word. Similar to other text markup

More information

Web Programming Paper Solution (Chapter wise)

Web Programming Paper Solution (Chapter wise) Introduction to web technology Three tier/ n-tier architecture of web multitier architecture (often referred to as n-tier architecture) is a client server architecture in which presentation, application

More information

Web Programming 3. Object Oriented Interface to CGI.pm. Generating Images. Using Headers. Using Cookies. Hidden fields.

Web Programming 3. Object Oriented Interface to CGI.pm. Generating Images. Using Headers. Using Cookies. Hidden fields. Web Programming 3 Object Oriented Interface to CGI.pm Generating Images Using Headers Caching/accept/languages Using Cookies Hidden fields File Upload 195 Page 195 Object-Oriented interface to CGI.pm CGI.pm

More information

Outline of Lecture 5. Course Content. Objectives of Lecture 6 CGI and HTML Forms

Outline of Lecture 5. Course Content. Objectives of Lecture 6 CGI and HTML Forms Web-Based Information Systems Fall 2004 CMPUT 410: CGI and HTML Forms Dr. Osmar R. Zaïane University of Alberta Outline of Lecture 5 Introduction Poor Man s Animation Animation with Java Animation with

More information

Creating A Web Page. Computer Concepts I and II. Sue Norris

Creating A Web Page. Computer Concepts I and II. Sue Norris Creating A Web Page Computer Concepts I and II Sue Norris Agenda What is HTML HTML and XHTML Tags Required HTML and XHTML Tags Using Notepad to Create a Simple Web Page Viewing Your Web Page in a Browser

More information

Web Engineering. Basic Technologies: Protocols and Web Servers. Husni

Web Engineering. Basic Technologies: Protocols and Web Servers. Husni Web Engineering Basic Technologies: Protocols and Web Servers Husni Husni@trunojoyo.ac.id Basic Web Technologies HTTP and HTML Web Servers Proxy Servers Content Delivery Networks Where we will be later

More information

Web Programming 4) PHP and the Web

Web Programming 4) PHP and the Web Web Programming 4) PHP and the Web Emmanuel Benoist Fall Term 2013-14 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 PHP a language for Web applications Presentation

More information

Web Programming with CGI.pm. Executing CGI scripts

Web Programming with CGI.pm. Executing CGI scripts Web Programming with CGI.pm Sheldon McKay Executing CGI scripts Use your personal web space /Users/yourusername/Sites/cgi-bin 1) Create your script (end with.pl ) 2) $ chmod 755 myscript.pl 1 A CGI Script

More information

WML2.0 TUTORIAL. The XHTML Basic defined by the W3C is a proper subset of XHTML, which is a reformulation of HTML in XML.

WML2.0 TUTORIAL. The XHTML Basic defined by the W3C is a proper subset of XHTML, which is a reformulation of HTML in XML. http://www.tutorialspoint.com/wml/wml2_tutorial.htm WML2.0 TUTORIAL Copyright tutorialspoint.com WML2 is a language, which extends the syntax and semantics of the followings: XHTML Basic [ XHTMLBasic ]

More information

Web System and Technologies (Objective + Subjective)

Web System and Technologies (Objective + Subjective) 1. What four components are needed to create a fully dynamic web page. A web server (such as Apache), a server-side scripting language (PHP), a database (MySQL), and a client-side scripting language (JavaScript)

More information

recall: a Web page is a text document that contains additional formatting information in the HyperText Markup Language (HTML)

recall: a Web page is a text document that contains additional formatting information in the HyperText Markup Language (HTML) HTML & Web Pages recall: a Web page is a text document that contains additional formatting information in the HyperText Markup Language (HTML) HTML specifies formatting within a page using tags in its

More information

Course Topics. IT360: Applied Database Systems. Introduction to PHP

Course Topics. IT360: Applied Database Systems. Introduction to PHP IT360: Applied Database Systems Introduction to PHP Chapter 1 and Chapter 6 in "PHP and MySQL Web Development" Course Topics Relational model SQL Database design Normalization PHP MySQL Database administration

More information

Integrate Word and the Web Vocabulary

Integrate Word and the Web Vocabulary Handout D404-02 Integrate Word and the Web Vocabulary Browser Browsing Bulletin board system Domain Domain extension (also known as top-level domain) Domain extension types Domain name system (DNS) Download

More information

COPYRIGHTED MATERIAL. The Basics of HTML. What Is the World Wide Web?

COPYRIGHTED MATERIAL. The Basics of HTML. What Is the World Wide Web? The Basics of HTML Before you begin to code HTML pages for the Web, it is important to understand some of the technology, standards, and syntax behind the Web. This chapter introduces you to HTML and answers

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 20 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

Lecture : 3. Practical : 2. Course Credit. Tutorial : 0. Total : 5. Course Learning Outcomes

Lecture : 3. Practical : 2. Course Credit. Tutorial : 0. Total : 5. Course Learning Outcomes Course Title Course Code WEB DESIGNING TECHNOLOGIES DCE311 Lecture : 3 Course Credit Practical : Tutorial : 0 Total : 5 Course Learning Outcomes At end of the course, students will be able to: Understand

More information

Session 9. Data Sharing & Cookies. Reading & Reference. Reading. Reference http state management. Session 9 Data Sharing

Session 9. Data Sharing & Cookies. Reading & Reference. Reading. Reference http state management. Session 9 Data Sharing Session 9 Data Sharing & Cookies 1 Reading Reading & Reference Chapter 5, pages 185-204 Reference http state management www.ietf.org/rfc/rfc2109.txt?number=2109 2 3/1/2010 1 Lecture Objectives Understand

More information

CST272 Getting Started Page 1

CST272 Getting Started Page 1 CST272 Getting Started Page 1 1 2 3 4 5 6 8 Introduction to ASP.NET, Visual Studio and C# CST272 ASP.NET Static and Dynamic Web Applications Static Web pages Created with HTML controls renders exactly

More information

Chapter 7:- PHP. Compiled By:- Sanjay Patel Assistant Professor, SVBIT.

Chapter 7:- PHP. Compiled By:- Sanjay Patel Assistant Professor, SVBIT. Chapter 7:- PHP Compiled By:- Assistant Professor, SVBIT. Outline Starting to script on server side, Arrays, Function and forms, Advance PHP Databases:-Basic command with PHP examples, Connection to server,

More information

Web Publishing Basics I

Web Publishing Basics I Web Publishing Basics I Jeff Pankin Information Services and Technology Contents Course Objectives... 2 Creating a Web Page with HTML... 3 What is Dreamweaver?... 3 What is HTML?... 3 What are the basic

More information

Planning and Designing Your Site p. 109 Design Concepts p. 116 Summary p. 118 Defining Your Site p. 119 The Files Panel p. 119 Accessing Your Remote

Planning and Designing Your Site p. 109 Design Concepts p. 116 Summary p. 118 Defining Your Site p. 119 The Files Panel p. 119 Accessing Your Remote Acknowledgments p. xxv Introduction p. xxvii Getting Started with Dreamweaver MX 2004 Is It 2004 Already? p. 3 The Internet p. 4 TCP/IP p. 7 Hypertext Transfer Protocol p. 8 Hypertext Markup Language p.

More information