web development with Python and Mod_Python George Lambert, GoldenWare. Cambridge Python Users Group Cambridge MA 21st November 2007
|
|
- Cathleen Golden
- 5 years ago
- Views:
Transcription
1 web development with Python and Mod_Python George Lambert, GoldenWare. Cambridge Python Users Group Cambridge MA 21st November 2007
2 Python Web Development Part I - Options - options and more options Part II - HTTP COMMUNICATIONS Part III - HTTP PROCESSING with Mod_Python Part IV - Reference Materials Questions
3 Part I - Options - options and more options sifting through the options
4 Buzzword Bingo Frameworks interfaces concepts databases webservers Django cgi URLs mysql apache TurboGears fastcgi cookies m$sql lighthttpd Pylons wsgi sessions oracle IIS Paste mod_python visitors postgres Twisted CherryPy mod_wsgi hits firebird BaseHTTPServer
5 Every Choice has concequences Picking a webserver, database server, framework and interface method requires making hard choices. Each decision is frought with peril, and you will live with the decisions you make for a long time. Some decisions will be made based on existing requirements, others will be made based on business decisions. But before you rule ANYTHING out - the key to success is understanding YOUR APPLICATION, YOUR REQUIREMENTS AND YOUR LIMITS.
6 Solution Overview - What is the usage pattern for your application? Does it split well over multiple servers? (Where are the logical divisions?) What are your data storage requirements?
7 Development Plan - What is the timeframe for deployment? Who will write your app? Who will maintain your app
8 USER EXPERIENCE - What does your app need to interface with? What API's will you consume data from? What API's will your users use to consume data? Will your users only use the app interactively? Will you produce an API? Do you want to control API Access?
9 Budgeting - What is your licensing budget? Does that budget adjust for growth? What is your hardware platform? Does that budget adjust for growth? What is your bandwidth solution? Does that budget adjust for growth?
10 SOME CHOICE LIMITS ARE OPERATING SYSTEM BASED webservers apache lighthttpd IIS Twisted BaseHTTPServer
11 SOME CHOICE LIMITS ARE OPERATING SYSTEM BASED databases mysql m$sql oracle postgres firebird
12 SOME CHOICES ARE WEBSERVER AND DATABASE DRIVEN APACHE ONLY mod_python mod_wsgi VARIOUS WEBSERVERS cgi fastcgi wsgi
13 SOME CHOICES ARE METHODOLOGY DRIVEN How close do you wish to be to the server? DIY or a framework Django TurboGears Pylons Paste CherryPy
14 Import(ant) modules EnvironItems() CGI.FieldStorage() Cookie.SimpleCookie() CGITB.Enable()
15 Setting Cookies GameState = Cookie.SimpleCooke() GameState['r2c2'] ="X"
16 Reading Cookies if 'HTTP_COOKIE' in OS.ENVIRON: Cookies = os.environ.split(',') for Cookie in Cookies: crumbs = cookie.split('=') cookiename = crumbs[0] cookieval = crumbs[1] print '%s=%s' % (cookiename, cookieval)
17 My Ideal HTTP Handler Function - int Status, fdict Headers, string Content = \ GenerateResponse( SafeCGI, SafeCookieJar, Session, Site, SafeENV ) try: do this except: # recover this way Handleit - change the Status, Headers, and Content as necessary if SafeCookieJar.changed: add cookie changes to Headers update the Headers Response Size in Header Dict.
18 result of - My Ideal HTTP Handler Function - 200, {'Content-Type':'text/html', 'Content-Size':'13', 'Cookies':'VisitorWasHere' }, "Hello World!\n" = GenerateResponse( SafeCGI, SafeCookieJar, Session, Site, SafeENV )
19 What are the pieces THE REQUEST GenerateResponse( SafeCGI, SafeCookieJar, Session, Site, SafeENV ) THE RESPONSE 200, { 'Content-Type':'text/html', 'Content-Size':'13', 'Cookies':'VisitorWasHere' }, "Hello World!\n"
20 Part II --- HTTP COMMUNICATIONS
21 THE HTTP REQUEST MODEL HTTP REQUEST (client) >>>> WEBSERVER (server) HTTP RESPONSE <<<<< WEBSERVER REQUESTS ARE ONE WAY REQUESTS RESPONSES ARE ONE WAY HTTP IS * A BI-DIRECTIONAL, PAIRED, ONE WAY COMMUNICATIONS CHANNEL HTTP IS NOT * AN INTERACTIVE CHANNEL or PROTOCOL REQUESTS ARE STATELESS REQUESTS ARE MADE TO A SERVER RESPONSES ARE SENT FROM A SERVER
22 THE HTTP REQUEST SENT TO THE SERVER CONNECT TO WEBSERVER (usually port 80) step 1 > send formatted request line step 2 > send request metadata as CRLF seperated NVP's step 3 > send END Request Metadata Marker as CRLF+CRLF step 4 > send optional Encoded Upload or Post Data
23 REQUEST REQUEST METADATA HOST COOKIES BROWSERTYPE ContentTypes authentication GET / HTTP/ REQUEST EXTRADATA POSTDATA
24 THE HTTP RESPONSE THE HTTP RESPONSE SENT FROM THE SERVER step 1 > send formatted STATUS Line step 2 > send Response metadata as CRLF seperated NVP's step 3 > send END Response Metadata Marker as CRLF+CRLF step 4 > send optional content described in the Response MetaData
25 HTTP RESPONSE Line or or or 200 OK 301 REDIRECT 307 AUTHENTICATION REQUIRED 404 File Not Found RESPONSE METADATA HOST COOKIES BROWSERTYPE ContentTypes authentication RESPONSE CONTENT
26 HTTP RESPONSE CODES defined by mod_python.apache 100 HTTP REQUEST Change GROUP 200 HTTP REQUEST Response GROUP 300 HTTP REQUEST Redirect GROUP 400 HTTP REQUEST FAILURE GROUP 500 HTTP REQUEST SERVER FAILURE GROUP
27 HTTP RESPONSE CODES defined by mod_python.apache HTTP REQUEST Change(s) 100 Class HTTP_CONTINUE = 100 HTTP_SWITCHING_PROTOCOLS = 101 HTTP_PROCESSING = 102
28 HTTP RESPONSE CODES defined by mod_python.apache HTTP REQUEST Response(s) 200 Class HTTP_OK = 200 HTTP_CREATED = 201 HTTP_ACCEPTED = 202 HTTP_NON_AUTHORITATIVE = 203 HTTP_NO_CONTENT = 204 HTTP_RESET_CONTENT = 205 HTTP_PARTIAL_CONTENT = 206 HTTP_MULTI_STATUS = 207
29 HTTP RESPONSE CODES defined by mod_python.apache HTTP REQUEST Redirect(s) 300 Class HTTP_MULTIPLE_CHOICES = 300 HTTP_MOVED_PERMANENTLY = 301 HTTP_MOVED_TEMPORARILY = 302 HTTP_SEE_OTHER = 303 HTTP_NOT_MODIFIED = 304 HTTP_USE_PROXY = 305 HTTP_TEMPORARY_REDIRECT = 307
30 HTTP RESPONSE CODES defined by mod_python.apache HTTP REQUEST FAILURE(s) 400 Class HTTP_BAD_REQUEST = 400 HTTP_UNAUTHORIZED = 401 HTTP_PAYMENT_REQUIRED = 402 HTTP_FORBIDDEN = 403 HTTP_NOT_FOUND = 404 HTTP_METHOD_NOT_ALLOWED = 405 HTTP_NOT_ACCEPTABLE = 406 HTTP_PROXY_AUTHENTICATION_REQUIRED= 407 HTTP_REQUEST_TIME_OUT = 408
31 HTTP RESPONSE CODES defined by mod_python.apache HTTP REQUEST FAILURE(s) 400 Class (cont) HTTP_CONFLICT = 409 HTTP_GONE = 410 HTTP_LENGTH_REQUIRED = 411 HTTP_PRECONDITION_FAILED = 412 HTTP_REQUEST_ENTITY_TOO_LARGE = 413 HTTP_REQUEST_URI_TOO_LARGE = 414 HTTP_UNSUPPORTED_MEDIA_TYPE = 415 HTTP_RANGE_NOT_SATISFIABLE = 416 HTTP_EXPECTATION_FAILED = 417 HTTP_UNPROCESSABLE_ENTITY = 422 HTTP_LOCKED = 423 HTTP_FAILED_DEPENDENCY = 424
32 HTTP RESPONSE CODES defined by mod_python.apache HTTP REQUEST SERVER FAILURE(s) 500 Class HTTP_INTERNAL_SERVER_ERROR = 500 HTTP_NOT_IMPLEMENTED = 501 HTTP_BAD_GATEWAY = 502 HTTP_SERVICE_UNAVAILABLE = 503 HTTP_GATEWAY_TIME_OUT = 504 HTTP_VERSION_NOT_SUPPORTED = 505 HTTP_VARIANT_ALSO_VARIES = 506 HTTP_INSUFFICIENT_STORAGE = 507 HTTP_NOT_EXTENDED = 510
33 Part III - HTTP PROCESSING with Mod_Python
34 Install Mod-Python Step 1. Install apache2 (on debian ubuntu) apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert Step 2. Install libapache2-mod-python (on debian ubuntu) apt-get install libapache2-mod-python Step 3. Install MySql Server and python modules (on debian ubuntu) apt-get install mysql-server python-mysqldb
35 Changes /etc/apache2/httpd.conf You could change this in either httpd.conf or in an included file depending on your server setup - if unsure check with sysadmin
36 # MaxRequestsPerChild spawns a new process # MaxRequestsPerChild (DO NOT USE IN PRODUCTION) # MaxRequestsPerChild - IS FOR DEVELOPMENT ONLY MaxRequestsPerChild 1 <Directory /var/www/> Options Indexes FollowSymLinks MultiViews +ExecCGI AllowOverride None Order allow,deny allow from all RedirectMatch ^/$ /pystuff/site.py?$1 </Directory> <Directory /var/www/pystuff> AddHandler mod_python.py PythonHandler mplookup PythonDebug On </Directory>
37 Understanding PythonHandler WARNING - PythonHandler mplookup may not behave as you expect the handler function in mplookup (your defined handler) is called EVERY TIME ANY.PY filename is called in the directory. IT DOES NOT LOAD THE FILENAME YOU SPECIFY! EVER TIME A.py file is called in the handled directory the HANDLER IN mplookup will be executed THIS WILL CONFUSE YOU IF YOU DONT TAKE NOTE.
38 my basic mplookup.py from mod_python import apache content = apache.import_module('content') # note ^^^^^^^^^^^^^^^^^^^^ this style import # it deals with reloading changed modules for long # running processes def handler(req): # note ^^^ apache interface object req.content_type = 'text/html' req.write(content.generatepage(req)) # note ^^^^^^^^^^^^^^^^^^^^ this calls the # imported function generatepage # keeping you from restarting the server # over and over again return apache.ok # note ^^^^^^^^^ this assumes you always want # to return a 200 OK
39 my content.py from mod_python import apache def generatepage(req): try: result = 'Hello - thanks for visiting %s ' % req.hostname #note ^^^^^^ CONSTRUCT YOUR CONTENT except: #note ^^^^^^ ASSUME YOUR FUNCTION COULD FAIL!!! result = 'An error happened processing your request!' return result #note ^^^^^^ RETURN YOUR CONTENT
40 remember ideal function? int Status, fdict Headers, string Content = \ GenerateResponse( SafeCGI, SafeCookieJar, Session, Site, SafeENV ) try: do this except: # recover this way Handleit - change the Status, Headers, and Content as necessary if SafeCookieJar.changed: add cookie changes to Headers update the Headers Response Size in Header Dict. We could have returned STATUS, HEADERS and Content ;) with a simple change to mplookup.py and content.py
Mod python Manual. Release Gregory Trubetskoy. April 10,
Mod python Manual Release 2.7.7 Gregory Trubetskoy April 10, 2002 E-mail: grisha@modpython.org Copyright c 2000 Gregory Trubetskoy All rights reserved. Redistribution and use in source and binary forms,
More informationApache, FastCGI and Python
Revision History Revision 1.1 Oct 16, 2017 Revised by: FB Ferry Boender 1. Preface FastCGI is a hybrid solution to serving web applications written in a wide variety of programming languages. It sits somewhere
More informationNETB 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 informationThe first command should show your short hostname, and the second should show your fully qualified domain name (FQDN).
Set the Hostname Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for setting your hostname. Issue the following commands
More informationApache FastCGI Tutorial
Apache FastCGI Tutorial Release 0.9 Sébastien Lugan April 10, 2011 CONTENTS 1 Prerequisites 1 2 Server configuration 3 2.1 Installation of Apache, FastCGI module and libraries........................
More informationPython web frameworks
Flask Python web frameworks Django Roughly follows MVC pattern Steeper learning curve. Flask Initially an April Fools joke Micro -framework: minimal approach. Smaller learning curve http://flask.pocoo.org/docs/0.12/quickstart/#a-minimalapplication
More informationRedBarrel Documentation
RedBarrel Documentation Release 1.0 2011, Tarek Ziadé August 08, 2011 CONTENTS 1 What s RedBarrel? 3 1.1 Anatomy of a Web Service........................................ 3 1.2 The RBR DSL..............................................
More informationJarvis Web Gateway. Installation Instructions. Jonathan Couper-Smartt
Jarvis Web Gateway Installation Instructions Jonathan Couper-Smartt jarvis@nsquared.co.nz Abstract: The Jarvis Web Gateway is a lightweight web-service designed to give Rich Internet Applications a rapid,
More informationLING 408/508: Computational Techniques for Linguists. Lecture 20
LING 408/508: Computational Techniques for Linguists Lecture 20 Today's Topic Did everyone get their webserver (OS X or Ubuntu or both) up and running? Apache2 Last time: we configured the root site http://localhost/
More informationBelow are the steps to install Orangescrum Self Hosted version of Cloud Edition in Ubuntu Server Last Updated: OCT 18, 2018
Below are the steps to install Orangescrum Self Hosted version of Cloud Edition in Ubuntu Server Last Updated: OCT 18, 2018 Step 1 Download the Orangescrum Self Hosted version of CloudEdition Extract the
More informationmod_wsgi Documentation
mod_wsgi Documentation Release 4.6.4 Graham Dumpleton Apr 03, 2018 Contents 1 Project Status 3 2 Security Issues 5 3 Getting Started 7 4 Requirements 9 5 Installation 11 6 Troubleshooting 13 7 User Guides
More informationCherryPy on Apache2 with mod_python
Revision History CherryPy on Apache2 with mod_python Revision 1.5 November 9, 2009 Revised by: FB Ferry Boender 1. Introduction I ve recently written a web application using Python using the following
More informationPYTHON 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 informationWe want to install putty, an ssh client on the laptops. In the web browser goto:
We want to install putty, an ssh client on the laptops. In the web browser goto: www.chiark.greenend.org.uk/~sgtatham/putty/download.html Under Alternative binary files grab 32 bit putty.exe and put it
More informationStacking LAMPs. Tom Ryder
Stacking LAMPs Tom Ryder tom@sanctum.geek.nz https://sanctum.geek.nz/ What is the LAMP stack? A web service stack: Linux Apache HTTPD MySQL (or MariaDB) PHP Very mature In web years, anyway...the late
More informationSystem Administration. NFS & Web Servers
System Administration NFS & Web Servers NFS SERVER File System Operations Create file / directory Remove file / directory List directory Open file Read from file Write to file NFS Network file system File
More informationSeshat Documentation. Release Joshua P Ashby
Seshat Documentation Release 1.0.0 Joshua P Ashby Apr 05, 2017 Contents 1 A Few Minor Warnings 3 2 Quick Start 5 2.1 Contributing............................................... 5 2.2 Doc Contents...............................................
More informationAbout 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 informationLinux Standard Base Printing Specification 4.0
Linux Standard Base Printing Specification 4.0 Linux Standard Base Printing Specification 4.0 Copyright 2008 Linux Foundation Permission is granted to copy, distribute and/or modify this document under
More informationapp = web.application(urls, globals()) class hello: def GET(self, name): if not name: name = 'World' return 'Hello, ' + name + '!' if name == " main "
How to deploy web.py applications In this article you will learn how to deploy a web.py application under Linux / UNIX environments. You can refer to our article titled, How to install web.py if you don
More informationGateDefender Performa updates from a local Web server
GateDefender Performa updates from a local Web server Copyright notice Panda Security 2008. All rights reserved. Neither the documents nor the programs that you may access may be copied, reproduced, translated
More informationServer 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 informationInstalling LAMP on Ubuntu and (Lucid Lynx, Maverick Meerkat)
Installing LAMP on Ubuntu 10.04 and 10.10 (Lucid Lynx, Maverick Meerkat) April 29, 2010 by Linerd If you're developing websites, it's nice to be able to test your code in the privacy of your own computer
More informationThe Pyramid Web Application Development Framework
The Pyramid Web Application Development Framework www.pylonsproject.org Martin Geisler Dealini July 4th, 2013 1 / 20 Outline Introduction Handling a Request Routes Views Renderers Mako Templates Conclusion
More informationDjango Deployment & Tips daybreaker
Django Deployment & Tips 2010. 6. 7 daybreaker We have covered Django Basics Concept of MVC Templates Models Admin Sites Forms Users (authentication) Thanks to battery Today s Contents Deployment: mod_python
More informationLinux Standard Base Printing Specification 3.2
Linux Standard Base Printing Specification 3.2 Linux Standard Base Printing Specification 3.2 Copyright 2007 Linux Foundation Permission is granted to copy, distribute and/or modify this document under
More informationSession 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 informationManhattan Documentation
Manhattan Documentation Release 0.3 Scott Torborg November 18, 2014 Contents 1 Example Usage 3 2 Contents 5 2.1 API Reference.............................................. 5 2.2 Quick Start................................................
More informationL.A.M.P. Stack Part I
L.A.M.P. Stack Part I By George Beatty and Matt Frantz This lab will cover the basic installation and some configuration of a LAMP stack on a Ubuntu virtual box. Students will download and install the
More informationA New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOH and more LACNIC 29 - Panamá May 2018 Jordi Palet (jordi.palet@theipv6company.com) -1 Internet is Changing More and more, Internet traffic is moving
More informationFoundations of Python
Foundations of Python Network Programming The comprehensive guide to building network applications with Python Second Edition Brandon Rhodes John Goerzen Apress Contents Contents at a Glance About the
More informationDxR clinician INSTRUCTOR MANUAL STUDENT USER MANUAL TECHNICAL APPENDIX
DxR clinician INSTRUCTOR MANUAL STUDENT USER MANUAL TECHNICAL APPENDIX Contents Browser Requirements...3 Screen Size and Monitor Resolution...3 Sound...3 Uploading Your Media Files to the Server...3 Acceptable
More informationLECTURE 15. Web Servers
LECTURE 15 Web Servers DEPLOYMENT So, we ve created a little web application which can let users search for information about a country they may be visiting. The steps we ve taken so far: 1. Writing the
More informationCID Documentation. Release Francis Reyes
CID Documentation Release 0.2.0 Francis Reyes Sep 30, 2017 Contents 1 Django Correlation IDs 1 1.1 Features.................................................. 1 Python Module Index 9 i ii CHAPTER 1 Django
More informationLinux Standard Base Printing Specification 4.1
Linux Standard Base Printing Specification 4.1 Linux Standard Base Printing Specification 4.1 Copyright 2010 Linux Foundation Permission is granted to copy, distribute and/or modify this document under
More informationGenesys Interaction Recording Solution Guide. WebDAV Requirements
Genesys Interaction Recording Solution Guide WebDAV Requirements 11/24/2017 Contents 1 WebDAV Requirements 1.1 Deploying the WebDAV Server 1.2 Configuring TLS for the WebDAV Server 1.3 Next Step Genesys
More informationBitnami HHVM for Huawei Enterprise Cloud
Bitnami HHVM for Huawei Enterprise Cloud Description HHVM is an open source virtual machine designed for executing programs written in Hack and PHP. HHVM uses a just-in-time (JIT) compilation approach
More informationServer-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 informationCGI 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 informationINSTALLING GUIDE FOR A WEB SERVER
Installation and configuration of Apache 2.2, PHP5 enviroinment, MySQL 5.5 and phpmyadmin 3.4 By: Josué Gayán Báscones For: Web Application Deployment, 2 nd ASIX Josué Gayán Báscones Web Application Deployment
More informationwebsnort Documentation
websnort Documentation Release 0.8 Steve Henderson Jul 04, 2018 Contents 1 Features 3 2 Contents 5 3 Issues 15 Python Module Index 17 i ii Websnort is an Open Source web service for analysing pcap files
More informationServices: Apache Distributed configuration & Access control
Services: Apache Distributed configuration & Access control David Morgan Options controls which of certain features are available the features ExecCGI FollowSymLinks Includes IncludesNoExec Indexes MultiViews
More informationManual Install Php Applications On Iis 7.5 For Windows Server 2008
Manual Install Php Applications On Iis 7.5 For Windows Server 2008 How to Install IIS 7.0/7.5 on Windows Server 2008 / R2 How to Install IIS 8.0/8.5 on Configure. Follow: Using FastCGI to Host PHP Applications
More informationAttacks Against Websites 3 The OWASP Top 10. Tom Chothia Computer Security, Lecture 14
Attacks Against Websites 3 The OWASP Top 10 Tom Chothia Computer Security, Lecture 14 OWASP top 10. The Open Web Application Security Project Open public effort to improve web security: Many useful documents.
More informationCNIT 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 informationApache Manual Install Ubuntu Php Mysql. Phpmyadmin No >>>CLICK HERE<<<
Apache Manual Install Ubuntu Php Mysql Phpmyadmin No Ubuntu 14.10 LAMP server tutorial with Apache 2, PHP 5 and MySQL (MariaDB) Additionally, I will install phpmyadmin to make MySQL administration easier.
More informationA PAtCHy server: developed by the Apache group formed 2/95 around by a number of people who provided patch files for NCSA httpd 1.3 by Rob McCool.
Outline q Introduction to Apache httpd web server q Basic Compilation, Installation and Configuration q Apache File system q Apache Logging & Status q Security & Performance Features q Virtual Hosting
More informationDeltek Maconomy. Installation Guide For Standard and PSO Installations
Deltek Maconomy Installation Guide For Standard and PSO Installations April 9, 2018 While Deltek has attempted to verify that the information in this document is accurate and complete, some typographical
More informationC24: Web API: Passing Arguments and Parsing Returns
CISC 3120 C24: Web API: Passing Arguments and Parsing Returns Hui Chen Department of Computer & Information Science CUNY Brooklyn College 5/7/2018 CUNY Brooklyn College 1 Outline Parsing arguments/data
More informationUSQ/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 informationJexus Web Server Documentation
Jexus Web Server Documentation Release 5.8 Lex Li December 29, 2017 Contents 1 Topics 1 1.1 Getting Started.............................................. 1 1.2 Tutorials.................................................
More informationAbout the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears
About the Tutorial TurboGears is a Python web application framework, which consists of many modules. It is designed around the MVC architecture that are similar to Ruby on Rails or Struts. TurboGears are
More informationUser authentication, passwords
User authentication, passwords User Authentication Nowadays most internet applications are available only for registered (paying) users How do we restrict access to our website only to privileged users?
More information13. Databases on the Web
13. Databases on the Web Requirements for Web-DBMS Integration The ability to access valuable corporate data in a secure manner Support for session and application-based authentication The ability to interface
More informationINTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary
INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental
More informationProxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24
Proxying p.1/24 Proxying Why and How Alon Altman alon@haifux.org Haifa Linux Club Proxying p.2/24 Definition proxy \Prox"y\, n.; pl. Proxies. The agency for another who acts through the agent; authority
More informationDATABASE SYSTEMS. Introduction to web programming. Database Systems Course, 2016
DATABASE SYSTEMS Introduction to web programming Database Systems Course, 2016 AGENDA FOR TODAY Client side programming HTML CSS Javascript Server side programming: PHP Installing a local web-server Basic
More informationCS105 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 informationIntroduction to Programming (Python) (IPP) CGI Programming. $Date: 2010/11/25 09:18:11 $ IPP-15 1
Introduction to Programming (Python) (IPP) CGI Programming $Date: 2010/11/25 09:18:11 $ 1 Static web pages The simplest web-based interaction is when your browser (the client) gets sent a file encoded
More informationI hate money. Release 1.0
I hate money Release 1.0 Nov 01, 2017 Contents 1 Table of content 3 2 Indices and tables 15 i ii «I hate money» is a web application made to ease shared budget management. It keeps track of who bought
More informationGimme Documentation. Release Tim Radke
Gimme Documentation Release 0.1.3 Tim Radke February 09, 2014 Contents 1 Application Creation 1 2 Requests, Responses, and Controllers 3 3 Engines 11 4 Indices and tables 13 i ii CHAPTER 1 Application
More informationInstall Apache Manually Win7 7 Php Mysql Phpmyadmin Ubuntu Server
Install Apache Manually Win7 7 Php Mysql Phpmyadmin Ubuntu Server Installing MYSQL with PHP 5, After installing PHP, After installing MySQL install phpmyadmin from source, Mysql-workbench, For more information
More informationRESTful Services. Distributed Enabling Platform
RESTful Services 1 https://dev.twitter.com/docs/api 2 http://developer.linkedin.com/apis 3 http://docs.aws.amazon.com/amazons3/latest/api/apirest.html 4 Web Architectural Components 1. Identification:
More informationInstalling AX Server with PostgreSQL (multi-server)
Installing AX Server with PostgreSQL (multi-server) Version: 13 Published: Wednesday, November 29, 2017 ACL Services Ltd. 2017 Table of contents Table of contents Table of contents 3 Introduction 7 Intended
More informationBomgar Vault Server Installation Guide
Bomgar Vault 17.2.1 Server Installation Guide 2017 Bomgar Corporation. All rights reserved worldwide. BOMGAR and the BOMGAR logo are trademarks of Bomgar Corporation; other trademarks shown are the property
More informationAdvanced CGI Scripts. personalized web browsing using cookies: count number of visits. secure hash algorithm using cookies for login data the scripts
Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via
More informationLoad balancing configuration. Technical specification
Technical specification Table of contents Introduction... 3 I. Overview... 3 II. The Apache load balancer... 3 III. Limitations... 3 Prerequisites... 4 Configuration... 5 I. Portal configuration... 6 II.
More informationApache Toolbox Help Modules Description
Apache Toolbox Help Modules Description mod_allowdev... Disallow requests for files on particular devices mod_auth_cookie... Authenticate via cookies; on-the-fly mod_auth_cookie_file.. Authenticate via
More informationPort 1 IP: 192.168.1.99 Port 1 Netmask: 255.255.255.0 Default Gateway: 192.168.1.1 Baud Rate: 9600 Data Bits: 8 Parity: None Stop Bits: 1 Flow Control: None Username: admin Password: set port1-ip
More informationDeltek Maconomy. Installation Guide For Standard and PSO Installations
Deltek Maconomy Installation Guide For Standard and PSO Installations March 10, 2016 While Deltek has attempted to verify that the information in this document is accurate and complete, some typographical
More informationEduardo
Eduardo Silva @edsiper eduardo@treasure-data.com About Me Eduardo Silva Github & Twitter Personal Blog @edsiper http://edsiper.linuxchile.cl Treasure Data Open Source Engineer Fluentd / Fluent Bit http://github.com/fluent
More informationThe CartIt Commerce System Installation Guide
The CartIt Commerce System Installation Guide On Windows Operating Systems Version 8.0 February 3, 2003 Copyright 2001 CartIt Corporation. All Rights Reserved. Page 1 of 10 THE CART IT COMMERCE SYSTEM
More informationIEMS 5722 Mobile Network Programming and Distributed Server Architecture Semester 2
IEMS 5722 Mobile Network Programming and Distributed Server Architecture 2016-2017 Semester 2 Assignment 3: Developing a Server Application Due Date: 10 th March, 2017 Notes: i.) Read carefully the instructions
More informationWeb Hosting. Important features to consider
Web Hosting Important features to consider Amount of Storage When choosing your web hosting, one of your primary concerns will obviously be How much data can I store? For most small and medium web sites,
More informationDEPLOYMENT GUIDE DEPLOYING F5 WITH ORACLE ACCESS MANAGER
DEPLOYMENT GUIDE DEPLOYING F5 WITH ORACLE ACCESS MANAGER Table of Contents Table of Contents Introducing the F5 and Oracle Access Manager configuration Prerequisites and configuration notes... 1 Configuration
More informationDIGIT.B4 Big Data PoC
DIGIT.B4 Big Data PoC GROW Transpositions D04.01.Information System Table of contents 1 Introduction... 4 1.1 Context of the project... 4 1.2 Objective... 4 2 Technologies used... 5 2.1 Python... 5 2.2
More informationPhpmyadmin Ubuntu Server
Manual Install Apache Win7 7 Php Mysql Phpmyadmin Ubuntu Server Error: Ubuntu installation does not detect Windows 7. Reference: Show locations of a particular software $ dpkg -L mysql-server. To check
More informationOpenEMR INSTALLATION AND UPGRADE Quick guide
OpenEMR INSTALLATION AND UPGRADE Quick guide Preliminary documentation September 2 nd, 2009 Updated February 1 st, 2010 Amended on July 13 th, 2010 Amended September 22, 2010 Page 1 of 19 Preliminary notes
More informationHTTP 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 informationCMSC 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 informationFree Spider Web development for Free Pascal/Lazarus user's manual
Free Spider Web development for Free Pascal/Lazarus user's manual FreeSpider Version 1.3.2 Modified: 29.Aug.2012 Author: Motaz Abdel Azeem Home Page : http://code.sd/freespider License: LGPL Introduction:
More informationSession 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers
Session 9 Deployment Descriptor Http 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/http_status_codes
More informationStats of Web Server types
APACHE HTTP SERVER About Apache Apache http server project http://httpd.apache.org Apache foundation started to support the web server project, but now extends to a multitude of other projects. Stats of
More informationHTTP 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 informationK-RATE INSTALLATION MANUAL
K-RATE INSTALLATION MANUAL K-Rate Installation Manual Contents SYSTEM REQUIREMENTS... 3 1. DOWNLOADING K-RATE... 4 STEP 1: LOGIN TO YOUR MEMBER ACCOUNT... 4 STEP 2: ENTER DOMAIN NAME... 5 STEP 3: DOWNLOAD
More informationReal 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 informationHypertext 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 informationMicrosoft Exchange Server 2013 and 2016 Deployment
Microsoft Exchange Server 2013 and 2016 Deployment Barracuda Networks has conducted interoperability tests using the Barracuda Load Balancer ADC and Microsoft Exchange Server 2013 and Microsoft Exchange
More informationHow To Start Mysql Using Linux Command Line Client In Ubuntu
How To Start Mysql Using Linux Command Line Client In Ubuntu Step One: Install MySQL Client On Debian, Ubuntu or Linux Mint: Before you start typing commands at the MySQL prompt, remember that each In
More informationAuthentication 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 informationWeb, 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 informationBitnami OSQA for Huawei Enterprise Cloud
Bitnami OSQA for Huawei Enterprise Cloud Description OSQA is a question and answer system that helps manage and grow online communities similar to Stack Overflow. First steps with the Bitnami OSQA Stack
More informationThe HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1
The HTTP protocol Fulvio Corno, Dario Bonino 08/10/09 http 1 What is HTTP? HTTP stands for Hypertext Transfer Protocol It is the network protocol used to delivery virtually all data over the WWW: Images
More informationElevate Web Builder 2 Modules Manual
Table of Contents Elevate Web Builder 2 Modules Manual Table Of Contents Chapter 1 - Getting Started 1 1.1 Creating a Module 1 1.2 Database Modules 3 1.3 Handling Requests 4 Chapter 2 - Component Reference
More informationSetup Desktop Grids and Bridges. Tutorial. Robert Lovas, MTA SZTAKI
Setup Desktop Grids and Bridges Tutorial Robert Lovas, MTA SZTAKI Outline of the SZDG installation process 1. Installing the base operating system 2. Basic configuration of the operating system 3. Installing
More information2. What is Google App Engine. Overview Google App Engine (GAE) is a Platform as a Service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers. Google
More informationElevate Web Builder 2 Modules Manual
Table of Contents Elevate Web Builder 2 Modules Manual Table Of Contents Chapter 1 - Getting Started 1 1.1 Creating a Module 1 1.2 Database Modules 3 1.3 Handling Requests 4 Chapter 2 - Component Reference
More information29-27 May 2013 CERN WEB FRAMEWORKS. Adrian Mönnich
First Indico Workshop 29-27 May 2013 CERN WEB FRAMEWORKS Adrian Mönnich Framework? What? Do we have one? Do we need one? A web application framework is a software framework that is designed to support
More informationWWPASS AUTHENTICATION MODULE FOR APACHE SERVER 2.2 INSTALL GUIDE
WWPASS AUTHENTICATION MODULE FOR APACHE SERVER 2.2 INSTALL GUIDE June 2013 TABLE OF CONTENTS TABLE OF CONTENTS... 2 ABOUT THIS DOCUMENT... 3 DOCUMENT TEXT CONVENTIONS... 4 ABBREVIATIONS & DEFINITIONS...
More informationBriCS. University of Bristol Cloud Service Simulation Runner. User & Developer Guide. 1 October John Cartlidge & M.
BriCS University of Bristol Cloud Service Simulation Runner User & Developer Guide 1 October 2013 John Cartlidge & M. Amir Chohan BriCS: User & Developer Guide - 1 - BriCS Architecture Fig. 1: Architecture
More information