Outline. Lecture 8: CGI (Common Gateway Interface ) Common Gateway Interface (CGI) CGI Overview

Size: px
Start display at page:

Download "Outline. Lecture 8: CGI (Common Gateway Interface ) Common Gateway Interface (CGI) CGI Overview"

Transcription

1 Outline Lecture 8: CGI (Common Gateway Interface ) CGI Overview Between Client and Handler Between Web Server and Handler Wendy Liu CSC309F Fall Common Gateway Interface (CGI) CGI Overview Access to dynamic server-side content Services Data 3 4 1

2 Components of the CGI Model Clients Web browsers Web server Mediates communication between browsers and handler programs CGI Protocol Specifies interaction between Browser and handler programs Function call syntax Web server and handler programs Handler programs (or CGI scripts) Any executables residing on the web server Can be written in any language C, C++, Perl, VB, Python, SmallTalk, Assembly, Lisp, etc. 5 CGI Interaction (1) Client sends request with a URL+additional info Web server receives the request Web server identifies the request as a CGI request Web server locates the handler program 6 CGI Interaction (2) CGI Interaction (3) Web server starts up the handling program Heavy weight process creation Web server feeds request parameters to handler Through stdin or environment variables 7 Handler program executes Output of the handler is sent to the Web server via stdout Output is typically a web page Web server returns output to the requesting web browser 8 2

3 Handling CGI Process CGI Example in Perl Request for CGI1 Request for CGI2 Request for CGI1 Main Process CGI-based Web Server Child Process for CGI1 Child Process for CGI2 Child Process for CGI1 #!/local/bin/perl print "Content-type: text/html\n\n"; print "<html>\n"; print "<body>\n"; print "<h1>hello</h1>\n"; print "</body>\n"; print "</html>\n"; In Web page <a href= cgi-bin/hello.pl > Click to run CGI </a> Cause the execution of the Perl script hello.pl 9 10 Client - Handler Interaction Between Client and Handler Indirect interaction Clients request the execution of a handler program by specifying A request method (e.g., GET, POST) Universal Resource Locator (URL) Locates the handler Additional arguments Query string

4 Query String Encoding Query string is used to transmit data associated with a GET/POST request All arguments are packed into a single string Each argument is represented by a name-value pair as name=value Arguments are separated by ampersand, & name_1=value_1&name_2=value_2 Spaces in a name or value are replaced by a plus sign, + URLs cannot have spaces in them Other characters (=, &, +) are replaced by a percent sign (%) followed by a two-digit hexadecimal value GET HTTP Methods Query string attached to the URL after? As part of the URL URL may have a length restriction on the server side Limited amount of information can be passed Arguments appear in server logs POST Query string encoded in the HTTP request body Not part of the URL Arbitrarily long form data can be communicated Arguments usually do not appear in server logs On the Web page Forms Example: GET <form action= cgi-bin/login.pl method= get > <input type= text name= id /> <input type= text name= password /> Request sent to web server Assuming user enters: abc and 123 GET cgi-bin/login.pl?id=abc&password=123 HTTP/1.1 Forms Example: POST On the Web page <form action= cgi-bin/login.pl method= post > <input type= text name= id /> <input type= text name= password /> Request sent to web server Assuming user enters: abc and 123 POST cgi-bin/login.pl HTTP/1.1 <headers > id=abc&password=

5 Between Web Server and Handler Web Server - Handler Interaction Information about a request comes from Request line Header line Request-body (POST) Handler input Environment variables stdin (request body) Handler output stdout Environment Variables AUTH_TYPE CONTENT_LENGTH CONTENT_TYPE GATEWAY_INTERFACE PATH_INFO PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST_METHOD SCRIPT_NAME SERVER_NAME SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE Example Perl Script #!/local/bin/perl print "Content-type: text/plain\n\n"; print = keys %ENV; # variable = values %ENV; # variable values while (@keys) { print pop(@keys), '=', pop(@values), "\n"; } $request_method = $ENV{'REQUEST_METHOD'}; if ($request_method eq "POST") { $formsize = $ENV{'CONTENT_LENGTH'}; read (STDIN, $form_info, $formsize); print "\nstdin\n" print $form_info; }

6 Example Web Page <body> <h3>get</h3> <form action="cgi-bin/stdin.pl" method="get"><p> Student Number: <input type="text" name="studentnum"/> <br /> Id: <input type="text" name="id"/> <br /> Password: <input type="password" name="password"/> <br /> Return Files: <input type="checkbox" name="returnfiles"/> <br /> <input type="submit" name="submit" /></p> <h3>post</h3> <form action="cgi-bin/stdin.pl" method="post"><p> Student Number: <input type="text" name="studentnum"/> <br /> Id: <input type="text" name="id"/> <br /> Password: <input type="password" name="password"/> <br /> Return Files: <input type="checkbox" name="returnfiles"/> <br /> <input type="submit" name="submit" /><p> </body> Example GET Request HTTP/ OK Date: Mon, 01 Oct :17:56 GMT Server: Apache/ (Unix) Last-Modified: Wed, 12 Sep :22:21 GMT Accept-Ranges: bytes Content-Length: 65 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/plain Environment SERVER_PORT=80 REQUEST_METHOD=GET QUERY_STRING=studentNum=a&id=b&password=234&returnFiles=on&submit =Submit Example POST Request HTTP/ OK Date: Mon, 01 Oct :17:56 GMT Server: Apache/ (Unix) Last-Modified: Wed, 12 Sep :32:21 GMT Accept-Ranges: bytes Content-Length: 65 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/plain Environment SERVER_PORT=80 REQUEST_METHOD=POST QUERY_STRING= STDIN studentnum=a&id=b&password=234&returnfiles=on&submit=submit Important Announcement Tuesday Oct 16, hr tutorial given in a CDF lab, BA3185 Thursday Oct 18, 2007 Midterm, BA2195 Starting Tuesday Oct 23, 2007 The official lecture room will be BA2185 on each Tuesday until the end of term No change to Thursdays classes (BA1240)

Forms, CGI. Cristian Bogdan 2D2052 / 2D1335 F5 1

Forms, CGI. Cristian Bogdan 2D2052 / 2D1335 F5 1 Forms, CGI Cristian Bogdan 2D2052 / 2D1335 F5 1 Objectives The basics of HTML forms How form content is submitted GET, POST Elements that you can have in forms Responding to forms Common Gateway Interface

More information

Common Gateway Interface CGI

Common Gateway Interface CGI Common Gateway Interface CGI Copyright (c) 2013-2015 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2

More information

Forms, CGI. HTML forms. Form example. Form example...

Forms, CGI. HTML forms. Form example. Form example... Objectives HTML forms The basics of HTML forms How form content is submitted GET, POST Elements that you can have in forms Responding to forms CGI the Common Gateway Interface Later: Servlets Generation

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

Common Gateway Interface

Common Gateway Interface CGI Common Gateway Interface Georgia Tech 1995 Web Usage Survey Perl - 46.7% C - 12.5% Shell Scripts - 8.1% Tcl - Tool Commercial Language Visual Basic Java C++ AppleScript XML 2 Example Shell Script #!/bin/sh

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

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

Forms, CGI. Objectives

Forms, CGI. Objectives Forms, CGI Objectives The basics of HTML forms How form content is submitted GET, POST Elements that you can have in forms Responding to forms Common Gateway Interface (CGI) Later: Servlets Generation

More information

Dynamic Documents. Kent State University Dept. of Math & Computer Science. CS 4/55231 Internet Engineering. What is a Script?

Dynamic Documents. Kent State University Dept. of Math & Computer Science. CS 4/55231 Internet Engineering. What is a Script? CS 4/55231 Internet Engineering Kent State University Dept. of Math & Computer Science LECT-12 Dynamic Documents 1 2 Why Dynamic Documents are needed? There are many situations when customization of the

More information

Giving credit where credit is due

Giving credit where credit is due CSCE 230J Computer Organization Web Services Dr. Steve Goddard goddard@cse.unl.edu Giving credit where credit is due Most of slides for this lecture are based on slides created by Drs. Bryant and O Hallaron,

More information

Web History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990:

Web History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990: Systemprogrammering 2006 Föreläsning 9 Web Services Topics HTTP Serving static content Serving dynamic content 1945: 1989: Web History Vannevar Bush, As we may think, Atlantic Monthly, July, 1945. Describes

More information

PYTHON CGI PROGRAMMING

PYTHON CGI PROGRAMMING PYTHON CGI PROGRAMMING http://www.tutorialspoint.com/python/python_cgi_programming.htm Copyright tutorialspoint.com The Common Gateway Interface, or CGI, is a set of standards that define how information

More information

You can also set the expiration time of the cookie in another way. It may be easier than using seconds.

You can also set the expiration time of the cookie in another way. It may be easier than using seconds. What is a Cookie? A cookie is often used to identify a user. A cookie is a small file that the server embeds on the user's computer. Each time the same computer requests a page with a browser, it will

More information

USQ/CSC2406 Web Publishing

USQ/CSC2406 Web Publishing USQ/CSC2406 Web Publishing Lecture 4: HTML Forms, Server & CGI Scripts Tralvex (Rex) Yeap 19 December 2002 Outline Quick Review on Lecture 3 Topic 7: HTML Forms Topic 8: Server & CGI Scripts Class Activity

More information

Chapter 17 : Internet Publishing

Chapter 17 : Internet Publishing Chapter 17: Internet Publishing 621 Chapter 17 : Internet Publishing With the advent of the explosion of the World Wide Web (WWW), the requirements of a development environment have evolved so as to demand

More information

Internet and Web Based Technology.

Internet and Web Based Technology. Internet and Web Based Technology http://144.16.192.60/~isg/iwt/ About the Course I will be covering half the course (2 hours / week) Tuesday 9:30 AM 11:25 AM Topics to be covered How Internet works, HTML,

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

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

Crystal Enterprise 8 - ASP vs. CSP

Crystal Enterprise 8 - ASP vs. CSP Contents INTRODUCTION...2 BACKGROUND...2 OBJECTIVES...2 INTENDED AUDIENCE...2 GENERAL...2 WEB SERVER- AND PLATFORM-SUPPORT COMPARISON...2 Differences Between Deployment Architectures... 2 Possible Deployment

More information

Web Services April 24, 2007

Web Services April 24, 2007 15-213 The course that gives CMU its Zip! Web Services April 24, 2007 Topics HTTP Serving static content Serving dynamic content Proxies 24-webservices.ppt History of the Web 1945: 1989: 1990: Vannevar

More information

Serving dynamic content. Issues in serving dynamic content. add.com: THE Internet addition portal! CGI. Page 2

Serving dynamic content. Issues in serving dynamic content. add.com: THE Internet addition portal! CGI. Page 2 15-213 Serving dynamic content Internet Services II April 27, 2000 Topics dynamic content Tiny Web tour Client sends request to. If request URI contains the string /cgi-bin, then the assumes that the request

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

Using SAS/IntrNet Software

Using SAS/IntrNet Software Using SAS/IntrNet Software Kevin Davidson FSD Data Services, Inc. ABSTRACT This paper will demonstrate the best methods of running SAS programs with SAS/IntrNet software. Examples of SAS programs executed

More information

The following is a sample statement. Perl statements end in a semi-colon (;):

The following is a sample statement. Perl statements end in a semi-colon (;): Lecture #2 Introduction Perl Syntaxes A Perl script consists of a sequence of declarations and statements which run from the top to the bottom; therefore, the scripting requires basic understanding of

More information

Common Gateway Interface for SIP

Common Gateway Interface for SIP Internet Engineering Task Force INTERNET-DRAFT draft-lennox-sip-cgi-03.ps Status of this Memo Common Gateway Interface for SIP Individual Submission J. Lennox, J. Rosenberg, H. Schulzrinne Columbia U./dynamicsoft

More information

CHAPTER 2. Troubleshooting CGI Scripts

CHAPTER 2. Troubleshooting CGI Scripts CHAPTER 2 Troubleshooting CGI Scripts OVERVIEW Web servers and their CGI environment can be set up in a variety of ways. Chapter 1 covered the basics of the installation and configuration of scripts. However,

More information

Server Deployment Release Notes

Server Deployment Release Notes Table of Contents Server Deployment Release Notes Overview... 3 Installation... 3 Installing with Apache... 3 Installing on OS X...5 Installing on Windows... 6 Installing on Linux... 7 Installing via.htaccess...

More information

COMP519 Web Programming Lecture 28: PHP (Part 4) Handouts

COMP519 Web Programming Lecture 28: PHP (Part 4) Handouts COMP519 Web Programming Lecture 28: PHP (Part 4) Handouts Ullrich Hustadt Department of Computer Science School of Electrical Engineering, Electronics, and Computer Science University of Liverpool Contents

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

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

Introduction to HTTP. Jonathan Sillito

Introduction to HTTP. Jonathan Sillito Introduction to HTTP Jonathan Sillito If you interested in working with a professor next Summer 2011 apply for an NSERC Undergraduate Student Award. Students must have a GPA of 3.0 or higher to be eligible.

More information

Introducing Rack. Christian Neukirchen Editor in Chief of Anarchaia

Introducing Rack. Christian Neukirchen Editor in Chief of Anarchaia Introducing Rack Christian Neukirchen Editor in Chief of Anarchaia A Google Image Search for ruby rack reveals: Overview What is Rack? Why do we need Rack? The design of Rack The Rack distribution Coset:

More information

PERL. Pattern Extraction and Reporting Language. Example: $x = 10 $value = $x + 1 $word = "hello"

PERL. Pattern Extraction and Reporting Language. Example: $x = 10 $value = $x + 1 $word = hello PERL Pattern Extraction and Reporting Language Example: Web page serving through CGI: Perl is used extensively in serving up content when run in concert with a web-server. Talking to web sites and reporting

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

Time Server. TCP/IP Intro. Time Client. Well-known TCP/IP ports

Time Server. TCP/IP Intro. Time Client. Well-known TCP/IP ports TCP/IP Intro Time Server TCP/IP beyond scope of this course - take COMP[39]331. But easier to understand CGI using TCP/IP from Perl Easy to establish a TCP/IP connection. Server running on host williams.cse.unsw.edu.au

More information

Web Recommendations for Mobile Web Browsing

Web Recommendations for Mobile Web Browsing Web Recommendations for Mobile Web Browsing Anupam Thakur Department of Computer Science University of North Dakota Grand Forks, ND 58202 anupam.thakur@und.edu Naima Kaabouch Department of Electrical Engineering

More information

Chapters. Web-Technologies I 1

Chapters. Web-Technologies I 1 Web-Technologies Chapters Server-Side Programming: Methods for creating dynamic content Web-Content-Management Excurse: Server Apache Client-Side Programming (Next Lesson) Web-Services (Next Lesson) Search

More information

The World Wide Web. Internet

The World Wide Web. Internet The World Wide Web Relies on the Internet: LAN (Local Area Network) connected via e.g., Ethernet (physical address: 00-B0-D0-3E-51-BC) IP (Internet Protocol) for bridging separate physical networks (IP

More information

Chapter 1 FORMS. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 FORMS. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 FORMS SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: How to use forms and the related form types. Controls for interacting with forms. Menus and presenting users with

More information

Chapter 27. HTTP and WWW

Chapter 27. HTTP and WWW Chapter 27 HTTP and WWW 27.1 HTTP Transaction Request Message Response Message Headers Note: HTTP uses the services of TCP on well-known port 80. Figure 27.1 HTTP transaction Figure 27.2 Request message

More information

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB Unit 8 HTML Forms and Basic CGI Slides based on course material SFU Icons their respective owners 1 Learning Objectives In this unit you will

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

Server-side computing

Server-side computing 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

More information

OpenQM. Building a CGI Web Server. Martin Phillips Ladybridge Systems Ltd

OpenQM. Building a CGI Web Server. Martin Phillips Ladybridge Systems Ltd OpenQM Building a CGI Web Server Martin Phillips Ladybridge Systems Ltd What We Are Going To See Today... How to build a web server as a multi-value Basic application using no additional tools. These examples

More information

HTML Tables and Forms. Outline. Review. Review. Example Demo/ Walkthrough. CS 418/518 Web Programming Spring Tables to Display Data"

HTML Tables and Forms. Outline. Review. Review. Example Demo/ Walkthrough. CS 418/518 Web Programming Spring Tables to Display Data CS 418/518 Web Programming Spring 2014 HTML Tables and Forms Dr. Michele Weigle http://www.cs.odu.edu/~mweigle/cs418-s14/ Outline! Assigned Reading! Chapter 4 "Using Tables to Display Data"! Chapter 5

More information

Common Gateway Interface for SIP

Common Gateway Interface for SIP Internet Engineering Task Force INTERNET-DRAFT draft-lennox-sip-cgi-00.ps Status of this Memo Common Gateway Interface for SIP J. Lennox, J.Rosenberg, H.Schulzrinne Columbia U./Bell Labs October 16, 1998

More information

Outline. Lecture 10: Database Connectivity -JDBC. Java Persistence. Persistence via Database

Outline. Lecture 10: Database Connectivity -JDBC. Java Persistence. Persistence via Database Outline Lecture 10: Database Connectivity -JDBC Persistence via Database JDBC (Java Database Connectivity) JDBC API Wendy Liu CSC309F Fall 2007 1 2 Java Persistence Persistence via Database JDBC (Java

More information

Spring 2014 Interim. HTML forms

Spring 2014 Interim. HTML forms HTML forms Forms are used very often when the user needs to provide information to the web server: Entering keywords in a search box Placing an order Subscribing to a mailing list Posting a comment Filling

More information

CSC309: Introduction to Web Programming. Lecture 8

CSC309: Introduction to Web Programming. Lecture 8 CSC309: Introduction to Web Programming Lecture 8 Wael Aboulsaadat Front Layer Web Browser HTTP Request Get http://abc.ca/index.html Web (HTTP) Server HTTP Response .. How

More information

Web forms and CGI scripts

Web forms and CGI scripts Web forms and CGI scripts Dr. Andrew C.R. Martin andrew.martin@ucl.ac.uk http://www.bioinf.org.uk/ Aims and objectives Understand how the web works Be able to create forms on HTML pages Understand how

More information

Copyright by Object Computing, Inc. (OCI). All rights reserved. Strata

Copyright by Object Computing, Inc. (OCI). All rights reserved. Strata Overview npm install [-g] strata var strata = require('strata'); Node.js streaming HTTP server Based on Web Server Gateway Interface (WSGI) - a Python standard at http://wsgi.org Rack - a Ruby Webserver

More information

HTTP. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

HTTP. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1 HTTP EC512 Spring 2015 2/15/2015 EC512 - Prof. Thomas Skinner 1 HTTP HTTP is the standard protocol used between a web browser and a web server. It is standardized by the World Wide Web Consortium, W3C

More information

jquery Basic HTTP communication

jquery Basic HTTP communication jquery Basic HTTP communication TAMZ 1 Lab 5 See: http://api.jquery.com/jquery.get/ http://api.jquery.com/jquery.post/ Application deployment Application has to be uploaded to a server Using of FTP/SCP/SFTP

More information

WWW Document Technologies

WWW Document Technologies WWW Document Technologies Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring Overview The Internet

More information

Pemrograman Jaringan Web Client Access PTIIK

Pemrograman Jaringan Web Client Access PTIIK Pemrograman Jaringan Web Client Access PTIIK - 2012 In This Chapter You'll learn how to : Download web pages Authenticate to a remote HTTP server Submit form data Handle errors Communicate with protocols

More information

Wrapping CGI Scripts. Managing CGI Development Security on Apache. Gunther Birznieks

Wrapping CGI Scripts. Managing CGI Development Security on Apache. Gunther Birznieks Wrapping CGI Scripts Managing CGI Development Security on Apache Gunther Birznieks Gunther@eXtropia.com http://www.extropia.com/presentations/ Wrapping CGI Scripts The Problem Internal Web Developers Should

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

HTML 5 Tables and Forms

HTML 5 Tables and Forms Tables for Tabular Data Display HTML 5 Tables and Forms Tables can be used to represet information in a two-dimensional format. Typical table applications include calendars, displaying product catelog,

More information

COMP519 Web Programming Autumn CGI Programming

COMP519 Web Programming Autumn CGI Programming COMP519 Web Programming Autumn 2015 CGI Programming CGI Programming These lectures notes are designed to: Teach you how to use CGI in server-side programming Use environmental variables in Python Access

More information

Developing Ajax Applications using EWD and Python. Tutorial: Part 2

Developing Ajax Applications using EWD and Python. Tutorial: Part 2 Developing Ajax Applications using EWD and Python Tutorial: Part 2 Chapter 1: A Logon Form Introduction This second part of our tutorial on developing Ajax applications using EWD and Python will carry

More information

Lab 2. All datagrams related to favicon.ico had been ignored. Diagram 1. Diagram 2

Lab 2. All datagrams related to favicon.ico had been ignored. Diagram 1. Diagram 2 Lab 2 All datagrams related to favicon.ico had been ignored. Diagram 1 Diagram 2 1. Is your browser running HTTP version 1.0 or 1.1? What version of HTTP is the server running? According to the diagram

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

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

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

COMP519 Web Programming Autumn CGI Programming

COMP519 Web Programming Autumn CGI Programming COMP519 Web Programming Autumn 2015 CGI Programming CGI Programming These lectures notes are designed to: Teach you how to use CGI in server-side programming Use environmental variables in Python Access

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

A Simple Way to Make Passwords More Effective

A Simple Way to Make Passwords More Effective A Simple Way to Make Passwords More Effective J. Scott Magruder The University of Southern Mississippi 601-266-5099/Fax 601-266-4642 James.Magruder@usm.edu Stanley X. Lewis, Jr. The University of Southern

More information

Information Retrieval CS Lecture 13. Razvan C. Bunescu School of Electrical Engineering and Computer Science

Information Retrieval CS Lecture 13. Razvan C. Bunescu School of Electrical Engineering and Computer Science Information Retrieval CS 6900 Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Web Search Interfaces Web search engines need a web-based interface. Search page accepts

More information

Web Development and HTML. Shan-Hung Wu CS, NTHU

Web Development and HTML. Shan-Hung Wu CS, NTHU Web Development and HTML Shan-Hung Wu CS, NTHU Outline How does Internet Work? Web Development HTML Block vs. Inline elements Lists Links and Attributes Tables Forms 2 Outline How does Internet Work? Web

More information

DAY 2. Creating Forms

DAY 2. Creating Forms DAY 2 Creating Forms LESSON LEARNING TARGETS I can identify and apply the different HTML tags to create a Web page form. I can describe the ways data is sent in a form in namevalue pairs. I can create

More information

Intrusion detection and prevention system: CGI attacks.

Intrusion detection and prevention system: CGI attacks. San Jose State University SJSU ScholarWorks Master's Theses Master's Theses and Graduate Research Fall 2009 Intrusion detection and prevention system: CGI attacks. Tejinder Aulakh San Jose State University

More information

Network Working Group. Category: Experimental June A Trivial Convention for using HTTP in URN Resolution

Network Working Group. Category: Experimental June A Trivial Convention for using HTTP in URN Resolution Network Working Group R. Daniel Request for Comments: 2169 Los Alamos National Laboratory Category: Experimental June 1997 A Trivial Convention for using HTTP in URN Resolution Status of this Memo ===================

More information

HTTP Protocol and Server-Side Basics

HTTP Protocol and Server-Side Basics HTTP Protocol and Server-Side Basics Web Programming Uta Priss ZELL, Ostfalia University 2013 Web Programming HTTP Protocol and Server-Side Basics Slide 1/26 Outline The HTTP protocol Environment Variables

More information

Web Interfaces. the web server Apache processing forms with Python scripts Python code to write HTML

Web Interfaces. the web server Apache processing forms with Python scripts Python code to write HTML Web Interfaces 1 Python Scripts in Browsers the web server Apache processing forms with Python scripts Python code to write HTML 2 Web Interfaces for the Determinant dynamic interactive forms passing data

More information

HTML forms and the dynamic web

HTML forms and the dynamic web HTML forms and the dynamic web Antonio Lioy < lioy@polito.it > english version created by Marco D. Aime < m.aime@polito.it > Politecnico di Torino Dip. Automatica e Informatica timetable.html departure

More information

Authentication for Web Services. Ray Miller Systems Development and Support Computing Services, University of Oxford

Authentication for Web Services. Ray Miller Systems Development and Support Computing Services, University of Oxford Authentication for Web Services Ray Miller Systems Development and Support Computing Services, University of Oxford Overview Password-based authentication Cookie-based authentication

More information

Web Search An Application of Information Retrieval Theory

Web Search An Application of Information Retrieval Theory Web Search An Application of Information Retrieval Theory Term Project Summer 2009 Introduction The goal of the project is to produce a limited scale, but functional search engine. The search engine should

More information

CS 3030 Scripting Languages Syllabus

CS 3030 Scripting Languages Syllabus General Information CS 3030 Scripting Languages Semester: Fall 2017 Textbook: Location: Instructor Info: None. We will use freely available resources from the Internet. Online Ted Cowan tedcowan@weber.edu

More information

Package Rook. February 15, 2013

Package Rook. February 15, 2013 Package Rook February 15, 2013 Type Package Title Rook - a web server interface for R Version 1.0-9 Date 2013-01-10 Author Jeffrey Horner Maintainer Jeffrey Horner

More information

Persistent systems. Traditional software: Data stored outside of program. Program

Persistent systems. Traditional software: Data stored outside of program. Program Persistent systems Traditional software: Data stored outside of program Program Persistent systems: Data part of program Execution never stops Transaction systems Program 1 Development of persistent languages

More information

Lesson 3. Form By Raymond Tsang. Certificate Programme in Cyber Security

Lesson 3. Form By Raymond Tsang. Certificate Programme in Cyber Security Lesson 3 Form By Raymond Tsang Certificate Programme in Cyber Security What is a form How to create a form Getting input from users Generate a result It s a section of a document containing normal content,

More information

COMP 520 Fall 2013 The WIG language (1) The. language

COMP 520 Fall 2013 The WIG language (1) The. language COMP 520 Fall 2013 The WIG language (1) The language COMP 520 Fall 2013 The WIG language (2) Uses of the World Wide Web: static documents (supported by HTML); dynamic documents (supported by CGI, ASP,

More information

LING 408/508: Computational Techniques for Linguists. Lecture 21

LING 408/508: Computational Techniques for Linguists. Lecture 21 LING 408/508: Computational Techniques for Linguists Lecture 21 Administrivia Both Homework 7 and 8 have been graded Homework 9 today Example: example.cgi SiteSites$./example.cgi Content-Type: text/html;

More information

COMP 520 Fall 2010 The WIG language (1) The. language

COMP 520 Fall 2010 The WIG language (1) The. language COMP 520 Fall 2010 The WIG language (1) The language COMP 520 Fall 2010 The WIG language (2) Uses of the World Wide Web: static documents (supported by HTML); dynamic documents (supported by CGI, ASP,

More information

INTRODUCTION TO CGI PROGRAMMING By Jumail Bin Taliba, GMM, FSKSM, UTM INTRODUCTION

INTRODUCTION TO CGI PROGRAMMING By Jumail Bin Taliba, GMM, FSKSM, UTM INTRODUCTION INTRODUCTION TO CGI PROGRAMMING By Jumail Bin Taliba, GMM, FSKSM, UTM 2003 1. INTRODUCTION What is CGI? CGI-which stands for Common Gateway Interface- is a protocol (a way of doing things), not a programming

More information

Network Working Group Internet Draft: SMTP Authentication Document: draft-myers-smtp-auth-00.txt April SMTP Service Extension for Authentication

Network Working Group Internet Draft: SMTP Authentication Document: draft-myers-smtp-auth-00.txt April SMTP Service Extension for Authentication HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 10:24:33 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Mon, 01 May 1995 22:00:00 GMT ETag: "361c6c-32a5-2fa559e0" Accept-Ranges: bytes Content-Length: 12965 Connection:

More information

Global Servers. The new masters

Global Servers. The new masters Global Servers The new masters Course so far General OS principles processes, threads, memory management OS support for networking Protocol stacks TCP/IP, Novell Netware Socket programming RPC - (NFS),

More information

Web Serving on z/vm. Rich Smrcina Velocity Software, Inc. VM Workshop 2012

Web Serving on z/vm. Rich Smrcina Velocity Software, Inc. VM Workshop 2012 Web Serving on z/vm Velocity Software Inc. 196-D Castro Street Mountain View CA 94041 650-964-8867 Velocity Software GmbH Max-Joseph-Str. 5 D-68167 Mannheim Germany +49 (0)621 373844 Rich Smrcina Velocity

More information

Simple But Useful Tools for Interactive WWW Development

Simple But Useful Tools for Interactive WWW Development Simple But Useful Tools for Interactive WWW Development Robert C. Maher Department of Electrical Engineering University of Nebraska-Lincoln Lincoln, NE 68588-0511 rmaher@unl.edu Abstract An important area

More information

HTTP Reading: Section and COS 461: Computer Networks Spring 2013

HTTP Reading: Section and COS 461: Computer Networks Spring 2013 HTTP Reading: Section 9.1.2 and 9.4.3 COS 461: Computer Networks Spring 2013 1 Recap: Client-Server Communication Client sometimes on Initiates a request to the server when interested E.g., Web browser

More information

HTTP Server Application

HTTP Server Application 1 Introduction You are to design and develop a concurrent TCP server that implements the HTTP protocol in the form of what is commonly called a web server. This server will accept and process HEAD and

More information

1. Oracle mod_plsql v in Oracle9i Application Server v1.0.2.x (Oracle9iAS v1.0.2.x)

1. Oracle mod_plsql v in Oracle9i Application Server v1.0.2.x (Oracle9iAS v1.0.2.x) Oracle Security Alert #28 Dated: 06 Feburary 2002 Updated: 05 July 2002 1. Oracle mod_plsql v3.0.9.8.2 in Oracle9i Application Server (Oracle9iAS ) a) Potential buffer overflow-related security vulnerabilities

More information

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP Web Programming - 2 (Ref: Chapter 2) TCP/IP Basics Internet Architecture Client Server Basics URL and MIME Types HTTP Routers interconnect the network TCP/IP software provides illusion of a single network

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

Design Patterns for CGI Web Applications with Visual Basic

Design Patterns for CGI Web Applications with Visual Basic Design Patterns for CGI Web Applications with Visual Basic Mike Lopez, John Peppiat Manukau Institute of Technology Auckland, New Zealand Mike.Lopez@manukau.ac.nz ABSTRACT Many commercial organisations

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

The Hypertext Markup Language (HTML) Part II. Hamid Zarrabi-Zadeh Web Programming Fall 2013

The Hypertext Markup Language (HTML) Part II. Hamid Zarrabi-Zadeh Web Programming Fall 2013 The Hypertext Markup Language (HTML) Part II Hamid Zarrabi-Zadeh Web Programming Fall 2013 2 Outline HTML Structures Tables Forms New HTML5 Elements Summary HTML Tables 4 Tables Tables are created with

More information

vrealize Log Insight Developer Resources Update 1 Modified on 03 SEP 2017 vrealize Log Insight 4.0

vrealize Log Insight Developer Resources Update 1 Modified on 03 SEP 2017 vrealize Log Insight 4.0 vrealize Log Insight Developer Resources Update 1 Modified on 03 SEP 2017 vrealize Log Insight 4.0 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/

More information

Introduction to Internet, Web, and TCP/IP Protocols SEEM

Introduction to Internet, Web, and TCP/IP Protocols SEEM Introduction to Internet, Web, and TCP/IP Protocols SEEM 3460 1 Local-Area Networks A Local-Area Network (LAN) covers a small distance and a small number of computers LAN A LAN often connects the machines

More information