8/9/16. Server-Side Web Programming Intro. The Hamburger Model. To make a Web server based program
|
|
|
- Alberta Harrison
- 9 years ago
- Views:
Transcription
1 Server-Side Web Programming Intro To make a Web server based program You have to get data in (from user-agent to server) Then process the data, perform some task, etc. You have get data out (from server to user-agent) Input: <form> data, URLs, HTTP headers (browser type, IP, cookie, etc.) Output: Some form of data usually HTML, GIF, JPEG, etc. and the appropriate header (MIME type,cookie, etc.) You will need to fix the stateless nature of HTTP to do anything meaningful Sessionization via cookies, URLs, hidden fields, etc. You should provide features to make programming easy not only do the previous things simply but allow for access to DBs, output HTML and Web site widgets, etc. The Hamburger Model A funny way you might think of this is that your program the thing you do is the meat of your hamburger and the buns are the input and the output Input - Top Bun (Msg body, query string, environment variables) The Program Meat (what does the work takes the input and does some calc, fetches data, etc.) Output Bottom Bun (The response + headers sent back) 1
2 Redux -3 Server-Side Programming Models Revisit this again because it is that important there are just 3 models at play here really #1) Classic CGI model fork and exec Web server creates new child process, passing it request data as environment variables CGI script issues response using standard I/O stream mechanisms #2) Server API model Web server runs additional request handling code inside its own process space #3) Web application frameworks Web server calls API application, which may manage request within its own pool of resources and using its native objects 3 Server-Side Programming Models Redux Classic CGI fork and exec Server API running inside Web server s address space Web application framework running inside Web server process but managing its own pool of resources via IPC 3 Server-Side Programming Models Each model has its pros and cons Classic CGI model Pro: isolation means easiest in principle to secure, least damaging if something goes wrong Con: isolation makes it slow & resource intensive Server API model Pro: very fast & low overhead if written properly Con: hard to write; blows up server if done wrong Web application frameworks Pro: ideally combines efficiency of API model with safety of CGI; adds helpful encapsulation of routine tasks like state management Con: built-in tools can be resource hogs in wrong hands; ease of use may encourage carelessness 2
3 3 Server-Side Programming Models Many examples of each Classic CGI Scripts written in Perl Programs written in C Server API Apache modules ISAPI filters and extensions Web application frameworks All descended from Server Side Includes (SSI), original parsed HTML solution that allowed interspersing of executable code with markup ASP, ASP.NET, Cold Fusion, JSP/Servlets, Python, PHP, etc. Theoretical Trade-offs As we saw there are many approaches to accomplishing Web programming No one approach works for all situations Speed of ISAPI vs. simplicity of a PHP script Some show you low-level details like headers, query strings, etc. very explicitly and some do not Some are harder to work with than other Trade-off: Configurability vs. Simplicity We also see that some higher level frameworks will trade-off ease of programmer effort for overhead and thus speed or scale Portability or reliance to a particular platform is also seen We start with low level old style CGI to see the underlying sameness of all server-side Web coding CGI (Common Gateway Interface) Simple standard defining the way for external programs to be run on Web servers In short CGI defines the way that data is read in by external programs and what is expected to be returned Hamburger model Useful CGI related resources O Reilly s CGI Book - 3
4 CGI and Perl CGI is often mentioned in the same breath as Perl, this is somewhat misleading CGI does not specify the usage of a particular language. If this is the case why Perl? Perl was commonly found on UNIX machines which were the first Web servers Perl is very good at string manipulation which is one of the main tasks when writing a CGI program Perl is pretty easy to hack around with Of course as an interpretted language you can see Perl partial to blame for CGI s speed problems Soluion: Use mod_perl Best Solution: Recompile as a C program First Example in Perl #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html><head><title>hello!</title> ; print "</head><body bgcolor='yellow'>\n"; print "<h1>hello from CGI</h1>\n print "</body>\n</html>"; Notice the Content-type: header. That s 50% of CGI s magic In this case we use a.pl extension though you might want to use.cgi or even better something else or even nothing. We also probably place the code in the cgi-bin directory Good practice in some ways, but again change the name Note: We probably should use the #!/usr/bin/perl -wt to invoke Perl. The w flag shows warnings and the T flag turns on taint checking which checks incoming data a little more carefully. First Example in C As said before language is irrelevant in CGI, so we recode helloworld in C as a demo #include <stdio.h> main() { } printf("content-type: text/html \n\n"); printf("<html><head><title>hello World from CGI in C</title></head><body>"); printf("<h1 align='center'>hello World!</h1>"); printf("</body></html>"); 4
5 Don t Reinvent the Wheel There isn t much to do in CGI Main tasks read in user submitted data and write out HTML and headers The real programming is outside of this! Plenty of room to screw-up Assuming that what is sent in is correct or safe Not handling error conditions or exposing sensitive mechanisms. Rather than reinventing the wheel you could utilize a CGI library such as Lincoln Stein s CGI.pm module for Perl Input/Output with CGI There are two forms of input to CGI programs 1. User supplied data 2. Environment supplied data User data generally comes from form fill-outs, clicks, etc. and is passed either using the GET or POST method while environment data is related to the environment in which the program is run and is mostly related to the various HTTP headers passed by the invoking user agent in combination with some local server variables. As shown by the previous example, output from CGI is a Contenttype: header with the appropriate type (often text/html) followed by the specified content (often HTML) Environment Variables These variables correspond to HTTP headers submitted to the running program: HTTP_ACCEPT, HTTP_USER_AGENT, HTTP_REFERER REMOTE_HOST, REMOTE_ADDR Submitted data QUERY_STRING, CONTENT_TYPE, CONTENT_LENGTH, REQUEST_METHOD Server or program related data SERVER_NAME, SERVER_SOFTWARE, SERVER_PROTOCOL, SERVER_PORT, DOCUMENT_ROOT, SCRIPT_NAME There may be numerous others depending on the server in play. In the case of Perl, environment variables are stored in a hash named %ENV so we can easily access or print them as shown in the next example 5
6 Environment Variables Example without CGI.pm #!/usr/bin/perl # print HTTP response header(s) print "Content-type: text/html \n\n"; # print HTML file top print <<END; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html><head><title>environment Variables</title> </head><body><h1 align="center">environment Variables</h1><hr /> END # Loop over the environment variables foreach $variable (sort keys %ENV) { print "<b>$variable:</b> $ENV{$variable}<br />\n"; } # Print the HTML file bottom print <<END; </body></html> END Environment Variables Example with CGI.pm #!/usr/bin/perl -wt use strict; use CGI qw(:standard); print header; print start_html("environment Variables"); print "<h1 align='center'>environment Variables</h1><hr />"; foreach my $key (sort(keys(%env))) { print "$key = $ENV{$key}<br />\n"; } print end_html Back to the URL Protocol Hostname Resource Query String 6
7 HTML Forms HTTP GET HTTP POST HTTP GET Data Pass GET /printvars.php?login=thomas+powell&password=not+secret HTTP/1.1 Host: demo.example.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/ Firefox/ Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Connection: keep-alive Referer: And the Response GET /printvars.php?login=thomas+powell&password=not+secret HTTP/1.1 Host: demo.example.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/ Firefox/ HTTP/ OK Date: Mon, 30 Jul :25:48 GMT Server: Apache/ (Unix) PHP/5.2.5 mod_ssl/ OpenSSL/0.9.8g X-Powered-By: PHP/5.2.5 Keep-Alive: timeout=15, max=94 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html... HTML data follows... 7
8 HTTP POST Data Pass POST /printvars.php HTTP/1.1 Host: demo.example.com User-Agent: Mozilla/5. (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/ Firefox/ Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Connection: keep-alive Referer: Content-Type: application/x-www-form-urlencoded Content-Length: 31 login=thomas+powell&password=not+secret Response was same so omitted Reading Data from Users Libraries like CGI.pm make it easy to read data in, they put it in a hash for us (no matter the method) by name/value pairs. We ll see in scripting languages like PHP it gets even easier! So given <html> <head><title>simple Form</title></head> <body><h1>form Test</h1><hr> <form action="/cgi-bin/getdata.cgi" method="get"> Name: <input type="text" name="username"><br> Password: <input type="password" name="password"><br> Magic Number: <input type="text" name="magicnum" size="2" maxlength="2"><br> <input type="submit" value="send"></form> </body> </html> Reading Data from Users Contd. We parse the data like so #!/usr/bin/perl -wt use CGI qw(:standard); use strict; print header; print start_html("form Result"); print "<h1 align='center'>form Result</h1><hr>"; my %form; foreach my $p (param()) { $form{$p} = param($p); print "$p = $form{$p}<br>"; } print end_html; 8
9 Reading Data from Users Contd. Using a library like CGI.pm handling post ed data is performed in the same way We can also query directly for known name value pairs rather than just access what is passed up Obviously this type of idea of just taking whatever the user passes us seems a tad insecure. You should generally only look at name-value pairs you know of and meet your required type/size constraints Letting an environment immediately create global vars (or reset the contents of existing vars) might be really unsafe CGI Troubles Since we are on the topic of security, why do people think CGI is insecure? Often CGI programs run at higher permissions than they should be Sometimes people use the shell imagine form data being executed at a shell! Programmers trust input way too much Cross site scripting, code injection, etc. This isn t unique to CGI, but the architecture particularly if they use shell scripts seems to make things worse CGI Troubles Speed Problems Every run of a CGI program server sets up environment, loads script/program, and runs it and then rips it down when done Multiple users will equal many CGIs running Often programmed in an interpreted language like Perl. Solutions Keep the script loaded in memory and running as a co-process (e.g. FastCGI - Use an embedded script interpreter (mod_perl) Move to a server API program (e.g. ISAPI extension or Apache module) 9
10 CGI Troubles Problem with apparent complexity A lot of details are still exposed to the programmer Using a library like CGI.pm much can be hidden but you still have to understand headers, environment variables, etc. more than you might see in other environments Some areas like session management are not abstracted as well in CGI programming as in more modern frameworks Solution: Move to a scripting environment like PHP that hides these details better - but is their a trade-off there? Yet despite being very archaic CGI it is still heavily used by certain types of Web developers and it is useful as it demonstrates the details of server-side programming which is always there regardless of framework in play dress it up, call it what you want but it all comes down to the same inputs, outputs, and network characteristics better to know that than not! 10
600-152 People Data and the Web Forms and CGI. HTML forms. A user interface to CGI applications
HTML forms A user interface to CGI applications Outline A simple example form. GET versus POST. cgi.escape(). Input controls. A very simple form a simple form
Perl/CGI. CS 299 Web Programming and Design
Perl/CGI CGI Common: Gateway: Programming in Perl Interface: interacts with many different OSs CGI: server programsprovides uses a well-defined users with a method way to to gain interact access with to
600-152 People Data and the Web Forms and CGI CGI. Facilitating interactive web applications
CGI Facilitating interactive web applications Outline In Informatics 1, worksheet 7 says You will learn more about CGI and forms if you enroll in Informatics 2. Now we make good on that promise. First
10. Java Servelet. Introduction
Chapter 10 Java Servlets 227 10. Java Servelet Introduction Java TM Servlet provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing
Chapter 2: Interactive Web Applications
Chapter 2: Interactive Web Applications 2.1 Interactivity and Multimedia in the WWW architecture 2.2 Interactive Client-Side Scripting for Multimedia (Example HTML5/JavaScript) 2.3 Interactive Server-Side
How to Run an Apache HTTP Server With a Protocol
HTTP Servers Jacco van Ossenbruggen CWI/VU Amsterdam 1 Learning goals Understand: Basis HTTP server functionality Serving static content from HTML and other files Serving dynamic content from software
Forms, CGI Objectives. HTML forms. Form example. Form example...
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 of dynamic Web content
Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh
Web applications Web security: web basics Myrto Arapinis School of Informatics University of Edinburgh HTTP March 19, 2015 Client Server Database (HTML, JavaScript) (PHP) (SQL) 1 / 24 2 / 24 URLs HTTP
Chapter 8. Forms and Form Processing
Chapter 8 Forms and Form Processing When users surf the Web, information flows from servers to browsers. But, the Web is not a one-way street. Information can also be collected from end-users by browsers
CGI An Example. CGI Model (Pieces)
CGI An Example go to http://127.0.0.1/cgi-bin/hello.pl This causes the execution of the perl script hello.pl Note: Although our examples use Perl, CGI scripts can be written in any language Perl, C, C++,
Web Services April 21st, 2009 with Hunter Pitelka
15 213 The course that gives CMU its Zip! Web Services April 21st, 2009 with Hunter Pitelka Topics HTTP Serving static content Serving dynamic content Web History 1989: 1990: Tim Berners Lee (CERN) writes
7 Why Use Perl for CGI?
7 Why Use Perl for CGI? Perl is the de facto standard for CGI programming for a number of reasons, but perhaps the most important are: Socket Support: Perl makes it easy to create programs that interface
Anatomy of a Pass-Back-Attack: Intercepting Authentication Credentials Stored in Multifunction Printers
Anatomy of a Pass-Back-Attack: Intercepting Authentication Credentials Stored in Multifunction Printers By Deral (PercX) Heiland and Michael (omi) Belton Over the past year, one focus of the Foofus.NET
HTTP Response Splitting
The Attack HTTP Response Splitting is a protocol manipulation attack, similar to Parameter Tampering The attack is valid only for applications that use HTTP to exchange data Works just as well with HTTPS
Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache.
JSP, and JSP, and JSP, and 1 2 Lecture #3 2008 3 JSP, and JSP, and Markup & presentation (HTML, XHTML, CSS etc) Data storage & access (JDBC, XML etc) Network & application protocols (, etc) Programming
Hypertext for Hyper Techs
Hypertext for Hyper Techs An Introduction to HTTP for SecPros Bio Josh Little, GSEC ~14 years in IT. Support, Server/Storage Admin, Webmaster, Web App Dev, Networking, VoIP, Projects, Security. Currently
Cyber Security Workshop Ethical Web Hacking
Cyber Security Workshop Ethical Web Hacking May 2015 Setting up WebGoat and Burp Suite Hacking Challenges in WebGoat Concepts in Web Technologies and Ethical Hacking 1 P a g e Downloading WebGoat and Burp
Dynamic Content. Dynamic Web Content: HTML Forms CGI Web Servers and HTTP
Dynamic Web Content: HTML Forms CGI Web Servers and HTTP Duncan Temple Lang Dept. of Statistics UC Davis Dynamic Content We are all used to fetching pages from a Web server. Most are prepared by a human
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!!)
TCP/IP Networking An Example
TCP/IP Networking An Example Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example intents to motivate the
The HTTP Plug-in. Table of contents
Table of contents 1 What's it for?... 2 2 Controlling the HTTPPlugin... 2 2.1 Levels of Control... 2 2.2 Importing the HTTPPluginControl...3 2.3 Setting HTTPClient Authorization Module... 3 2.4 Setting
CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ
CTIS 256 Web Technologies II Week # 1 Serkan GENÇ Introduction Aim: to be able to develop web-based applications using PHP (programming language) and mysql(dbms). Internet is a huge network structure connecting
Network Technologies
Network Technologies Glenn Strong Department of Computer Science School of Computer Science and Statistics Trinity College, Dublin January 28, 2014 What Happens When Browser Contacts Server I Top view:
Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview
Web and HTTP Protocolo HTTP Web page consists of objects Object can be HTML file, JPEG image, Java applet, audio file, Web page consists of base HTML-file which includes several referenced objects Each
Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)
Internet Technologies World Wide Web (WWW) Proxy Server Network Address Translator (NAT) What is WWW? System of interlinked Hypertext documents Text, Images, Videos, and other multimedia documents navigate
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?
Questions 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? 4. When will a TCP process resend a segment? CP476 Internet
Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013
Definition of in a nutshell June, the 4 th 2013 Definition of Definition of Just another definition So what is it now? Example CGI php comparison log-file Definition of a formal definition Aisaprogramthat,usingthe
How To Understand The History Of The Web (Web)
(World Wide) Web WWW A way to connect computers that provide information (servers) with computers that ask for it (clients like you and me) uses the Internet, but it's not the same as the Internet URL
Chapter 27 Hypertext Transfer Protocol
Chapter 27 Hypertext Transfer Protocol Columbus, OH 43210 [email protected] http://www.cis.ohio-state.edu/~jain/ 27-1 Overview Hypertext language and protocol HTTP messages Browser architecture CGI
Using SAML for Single Sign-On in the SOA Software Platform
Using SAML for Single Sign-On in the SOA Software Platform SOA Software Community Manager: Using SAML on the Platform 1 Policy Manager / Community Manager Using SAML for Single Sign-On in the SOA Software
Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring 2002. Four parts
CSE 123b Communications Software Spring 2002 Lecture 11: HTTP Stefan Savage Project #2 On the Web page in the next 2 hours Due in two weeks Project reliable transport protocol on top of routing protocol
No. Time Source Destination Protocol Info 1190 131.859385 128.238.245.34 128.119.245.12 HTTP GET /ethereal-labs/http-ethereal-file1.html HTTP/1.
Ethereal Lab: HTTP 1. The Basic HTTP GET/response interaction 1190 131.859385 128.238.245.34 128.119.245.12 HTTP GET /ethereal-labs/http-ethereal-file1.html HTTP/1.1 GET /ethereal-labs/http-ethereal-file1.html
10.1 The Common Gateway Interface
10.1 The Common Gateway Interface - Markup languages cannot be used to specify computations, interactions with users, or to provide access to databases - CGI is a common way to provide for these needs,
Security-Assessment.com White Paper Leveraging XSRF with Apache Web Server Compatibility with older browser feature and Java Applet
Security-Assessment.com White Paper Leveraging XSRF with Apache Web Server Compatibility with older browser feature and Java Applet Prepared by: Roberto Suggi Liverani Senior Security Consultant Security-Assessment.com
Designing and Implementing Forms 34
C H A P T E R 34 Designing and Implementing Forms 34 You can add forms to your site to collect information from site visitors; for example, to survey potential customers, conduct credit-card transactions,
Perl in a nutshell. First CGI Script and Perl. Creating a Link to a Script. print Function. Parsing Data 4/27/2009. First CGI Script and Perl
First CGI Script and Perl Perl in a nutshell Prof. Rasley shebang line tells the operating system where the Perl interpreter is located necessary on UNIX comment line ignored by the Perl interpreter End
Web Server for Embedded Systems
Web Server for Embedded Systems Klaus-D. Walter After the everybody-in-the-internet-wave now obviously follows the everything-in-the- Internet-wave. The most coffee, vending and washing machines are still
Application layer Web 2.0
Information Network I Application layer Web 2.0 Youki Kadobayashi NAIST They re revolving around the web, after all Name any Internet-related buzz: Cloud computing Smartphone Social media... You ll end
OVERVIEW OF ASP. What is ASP. Why ASP
OVERVIEW OF ASP What is ASP Active Server Pages (ASP), Microsoft respond to the Internet/E-Commerce fever, was designed specifically to simplify the process of developing dynamic Web applications. Built
HTTP Protocol. Bartosz Walter <[email protected]>
HTTP Protocol Bartosz Walter Agenda Basics Methods Headers Response Codes Cookies Authentication Advanced Features of HTTP 1.1 Internationalization HTTP Basics defined in
Efficiency of Web Based SAX XML Distributed Processing
Efficiency of Web Based SAX XML Distributed Processing R. Eggen Computer and Information Sciences Department University of North Florida Jacksonville, FL, USA A. Basic Computer and Information Sciences
CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol
CS640: Introduction to Computer Networks Aditya Akella Lecture 4 - Application Protocols, Performance Applications FTP: The File Transfer Protocol user at host FTP FTP user client interface local file
HTML Forms and CONTROLS
HTML Forms and CONTROLS Web forms also called Fill-out Forms, let a user return information to a web server for some action. The processing of incoming data is handled by a script or program written in
INT322. By the end of this week you will: (1)understand the interaction between a browser, web server, web script, interpreter, and database server.
Objective INT322 Monday, January 19, 2004 By the end of this week you will: (1)understand the interaction between a browser, web server, web script, interpreter, and database server. (2) know what Perl
APACHE WEB SERVER. Andri Mirzal, PhD N28-439-03
APACHE WEB SERVER Andri Mirzal, PhD N28-439-03 Introduction The Apache is an open source web server software program notable for playing a key role in the initial growth of the World Wide Web Typically
How to write a CGI for the Apache Web server in C
How to write a CGI for the Apache Web server in C The Com/PC Embedded Gateway Linux (EGL/2) operating system comes with a pre-installed Apache Web server. Please see also mht-cpc1l-07.pdf: How to use the
XHTML Forms. Form syntax. Selection widgets. Submission method. Submission action. Radio buttons
XHTML Forms Web forms, much like the analogous paper forms, allow the user to provide input. This input is typically sent to a server for processing. Forms can be used to submit data (e.g., placing an
INTRUSION DETECTION AND PREVENTION SYSTEM: CGI ATTACKS. A Thesis. Presented to. The Faculty of the Department of Computer Science
INTRUSION DETECTION AND PREVENTION SYSTEM: CGI ATTACKS A Thesis Presented to The Faculty of the Department of Computer Science San José State University In Partial Fulfillment of the Requirements for the
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:
The Web: some jargon Web page: consists of objects addressed by a URL Most Web pages consist of: base HTML page, and several referenced objects. URL has two components: host name and path name: User agent
Arnaud Becart ip- label 11/9/11
Arnaud Becart ip- label 11/9/11 RUM Synthe2c Tests You should measure HTML and RIA (Flash ) Page Rendering Onload + Full Page Load InteracBons in your page Third Party content How Synthe2c / Real browsers
DESIGNING HTML HELPERS TO OPTIMIZE WEB APPLICATION DEVELOPMENT
Abstract DESIGNING HTML HELPERS TO OPTIMIZE WEB APPLICATION DEVELOPMENT Dragos-Paul Pop 1 Building a web application or a website can become difficult, just because so many technologies are involved. Generally
Bld. du Roi Albert II, 27, B 1030 BRUSSELS Tel. +32 2 203 82 82 Fax. +32 2 203 82 87 www.scanit.be. Secure file upload in PHP web applications
Bld. du Roi Albert II, 27, B 1030 BRUSSELS Tel. +32 2 203 82 82 Fax. +32 2 203 82 87 www.scanit.be Secure file upload in PHP web applications Alla Bezroutchko June 13, 2007 Table of Contents Introduction......3
CGI Programming. Examples
CGI Programming Perl is used as an example throughout. Most of what is said here applies to any common programming language (ie C, C++, python etc.). Perls CGI library provides tools to simplify web page
HTTP Caching & Cache-Busting for Content Publishers
HTTP Caching & Cache-Busting for Content Publishers Michael J. Radwin http://public.yahoo.com/~radwin/ OSCON 2005 Thursday, August 4th, 2005 1 1 Agenda HTTP in 3 minutes Caching concepts Hit, Miss, Revalidation
Short notes on webpage programming languages
Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of
CloudOYE CDN USER MANUAL
CloudOYE CDN USER MANUAL Password - Based Access Logon to http://mycloud.cloudoye.com. Enter your Username & Password In case, you have forgotten your password, click Forgot your password to request a
Sticky Session Setup and Troubleshooting
1 Sticky Session Setup and Troubleshooting Day, Date, 2004 time p.m. ET Teleconference Access: US & Canada: 888-259-4812 Teleconference Access: North America: xxxx Toll Number: 706-679-4880 International:
ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon
ASP &.NET Microsoft's Solution for Dynamic Web Development Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon Introduction Microsoft's Server-side technology. Uses built-in
HTTP. Internet Engineering. Fall 2015. Bahador Bakhshi CE & IT Department, Amirkabir University of Technology
HTTP Internet Engineering Fall 2015 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Questions Q1) How do web server and client browser talk to each other? Q1.1) What is the common
HTTP/2: Operable and Performant. Mark Nottingham @mnot (@akamai)
HTTP/2: Operable and Performant Mark Nottingham @mnot (@akamai) This talk may be disappointing. As we know, there are known knowns; there are things we know we know. We also know there are known unknowns;
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &
CSCI110: Examination information.
CSCI110: Examination information. The exam for CSCI110 will consist of short answer questions. Most of them will require a couple of sentences of explanation of a concept covered in lectures or practical
reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)
1 cse879-03 2010-03-29 17:23 Kyung-Goo Doh Chapter 3. Web Application Technologies reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002) 1. The HTTP Protocol. HTTP = HyperText
Interfacing the Apache Web Server to APLX
Application Note APLX-LMW-0403: Interfacing the Apache Web Server to APLX Introduction This document describes how you can use APLX in conjunction with Apache, the widelyused web-server software developed
Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB
21.1 Advanced Tornado Advanced Tornado One of the main reasons we might want to use a web framework like Tornado is that they hide a lot of the boilerplate stuff that we don t really care about, like escaping
Intro to Web Programming. using PHP, HTTP, CSS, and Javascript Layton Smith CSE 4000
Intro to Web Programming using PHP, HTTP, CSS, and Javascript Layton Smith CSE 4000 Intro Types in PHP Advanced String Manipulation The foreach construct $_REQUEST environmental variable Correction on
1Intro. Apache is an open source HTTP web server for Unix, Apache
Apache 1Intro Apache is an open source HTTP web server for Unix, Microsoft Windows, Macintosh and others, that implements the HTTP / 1.1 protocol and the notion of virtual sites. Apache has amongst other
Internet Technologies Internet Protocols and Services
QAFQAZ UNIVERSITY Computer Engineering Department Internet Technologies Internet Protocols and Services Dr. Abzetdin ADAMOV Chair of Computer Engineering Department [email protected] http://ce.qu.edu.az/~aadamov
PHP. Introduction. Significance. Discussion I. What Is PHP?
PHP Introduction Nowadays not only e-commerce but also various kinds of industries and educational institutions seem to seek to build dynamic websites that can handle database and can be customized for
Demystifying cache. Kristian Lyngstøl Product Specialist Varnish Software AS
Demystifying cache Kristian Lyngstøl Product Specialist Varnish Software AS Montreal, March 2013 Agenda - The types of caches involved - The benefits of a cache - HTTP - Reverse proxy specifics Not: L1/L2
CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 20
CIS 551 / TCOM 401 Computer and Network Security Spring 2007 Lecture 20 Announcements Reminder: Project 3 is available on the web pages Due: April 3rd Midterm II has been graded Today: Web Security [Some
TCP/IP Networking, Part 2: Web-Based Control
TCP/IP Networking, Part 2: Web-Based Control Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Building Embedded Web Applications Slide 1 Welcome to the next
Playing with Web Application Firewalls
Playing with Web Application Firewalls Who is Wendel? Independent penetration test analyst. Affiliated to Hackaholic team. Over 7 years in the security industry. Discovered vulnerabilities in Webmails,
Web Programming Languages Overview
Web Programming Languages Overview Thomas Powell [email protected] Web Programming in Context Web Programming Toolbox ActiveX Controls Java Applets Client Side Helper Applications Netscape Plug-ins Scripting
THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6
The Proxy Server THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6 2 1 Purpose The proxy server acts as an intermediate server that relays requests between
JAVASCRIPT AND COOKIES
JAVASCRIPT AND COOKIES http://www.tutorialspoint.com/javascript/javascript_cookies.htm Copyright tutorialspoint.com What are Cookies? Web Browsers and Servers use HTTP protocol to communicate and HTTP
Further web design: HTML forms
Further web design: HTML forms Practical workbook Aims and Learning Objectives The aim of this document is to introduce HTML forms. By the end of this course you will be able to: use existing forms on
Information Extraction Art of Testing Network Peripheral Devices
OWASP AppSec Brazil 2010, Campinas, SP The OWASP Foundation http://www.owasp.org Information Extraction Art of Testing Network Peripheral Devices Aditya K Sood, SecNiche Security ([email protected])
Web application development landscape: technologies and models
Web application development landscape: technologies and models by Andrea Nicchi Relatore: Prof. Antonio CISTERNINO Controrelatore: Prof. Giuseppe ATTARDI WEB APPLICATION an Information System providing
UNIVERSAL WEB APPLICATION SERVER MAYUMBO NYIRENDA. Department of Computer Science
UNIVERSAL WEB APPLICATION SERVER MAYUMBO NYIRENDA Department of Computer Science APPROVED: to my MOTHER and FATHER with love UNIVERSAL WEB APPLICATION SERVER by MAYUMBO NYIRENDA THESIS Presented to the
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence 2. Web Servers Introduction Web content lives on Web servers Web servers speak the platform independent HyperText Transfer Protocol (HTTP) (so
DEERFIELD.COM. DNS2Go Update API. DNS2Go Update API
DEERFIELD.COM DNS2Go Update API DNS2Go Update API DEERFIELD.COM PRODUCT DOCUMENTATION DNS2Go Update API Deerfield.com 4241 Old U.S. 27 South Gaylord, MI 49686 Phone 989.732.8856 Email [email protected]
mod_tcl TCL inside the Apache web server
mod_tcl : TCL inside the Apache web server 1 mod_tcl TCL inside the Apache web server Olly Stephens, Systems Architect, ARM Ltd Abstract mod_tcl is an apache httpd module that allows TCL code to be executed
HTTP Authentication. RFC 2617 obsoletes RFC 2069
HTTP Authentication RFC 2617 obsoletes RFC 2069 Agenda Positioning Basic Access Authentication Digest Access Authentication Proxy-Authentication and Proxy- Authorization Security Considerations Internet
Form Mail Tutorial. Introduction. The cgi-bin
Form Mail Tutorial Introduction A form is way of allowing your website users to respond to the site by email. The form may be designed to simply provide a means of commenting on the site, through to complex
Playing with Web Application Firewalls
Playing with Web Application Firewalls DEFCON 16, August 8-10, 2008, Las Vegas, NV, USA Who is Wendel Guglielmetti Henrique? Penetration Test analyst at SecurityLabs - Intruders Tiger Team Security division
HTML Form Widgets. Review: HTML Forms. Review: CGI Programs
HTML Form Widgets Review: HTML Forms HTML forms are used to create web pages that accept user input Forms allow the user to communicate information back to the web server Forms allow web servers to generate
LabVIEW Internet Toolkit User Guide
LabVIEW Internet Toolkit User Guide Version 6.0 Contents The LabVIEW Internet Toolkit provides you with the ability to incorporate Internet capabilities into VIs. You can use LabVIEW to work with XML documents,
PHP Authentication Schemes
7 PHP Authentication Schemes IN THIS CHAPTER Overview Generating Passwords Authenticating User Against Text Files Authenticating Users by IP Address Authenticating Users Using HTTP Authentication Authenticating
Architecture of So-ware Systems HTTP Protocol. Mar8n Rehák
Architecture of So-ware Systems HTTP Protocol Mar8n Rehák HTTP Protocol Hypertext Transfer Protocol Designed to transfer hypertext informa8on over the computer networks Hypertext: Structured text with
An Eprints Apache Log Filter for Non-Redundant Document Downloads by Browser Agents
An Eprints Apache Log Filter for Non-Redundant Document Downloads by Browser Agents Ed Sponsler Caltech Library System http://resolver.caltech.edu/caltechlib:spoeal04 December, 2004 Contents 1 Abstract
Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf
1 The Web, revisited WEB 2.0 [email protected] Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)
PHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery
PHP Debugging Draft: March 19, 2013 2013 Christopher Vickery Introduction Debugging is the art of locating errors in your code. There are three types of errors to deal with: 1. Syntax errors: When code
