SlideShare a Scribd company logo
1 of 40
Wolfgang Wiese, RRZE Web-Technologies I 1
Web-TechnologiesWeb-Technologies
 Chapters
 Client-Side Programming
 Server-Side Programming
 Web-Content-Management
 Web-Services
 Apache Webserver
 Robots, Spiders and Search engines
 Robots and Spiders
 Search engines in general
 Google
Wolfgang Wiese, RRZE Web-Technologies I 2
Client-Side ProgrammingClient-Side Programming 11
 HTML
 HTML = HyperText Markup
Language
 Developed since 1989 as platform
independent markup language
 International standardized by the W3C
(http://www.w3.org)
 Last release: Version 4.0
 New extended version: XHTML 2.0
 Often extended with non-standardized
tags by developer of browser and web-
authoring-programs
Wolfgang Wiese, RRZE Web-Technologies I 3
Client-Side ProgrammingClient-Side Programming 22
 Example base structure of a HTML-
document
<HTML>
<HEAD>
<TITLE>My HTML-Document</TITLE>
</HEAD>
<BODY>
<P>Hallo World!</P>
</BODY>
</HTML>
Wolfgang Wiese, RRZE Web-Technologies I 4
Client-Side ProgrammingClient-Side Programming 33
 XML
 Extensible Markup Language
 With help of XML its possible to define content and
the structured layout of a page in several parts =>
automatic analysis is possible.
In other words:
 „XML is a set of rules for designing text formats, in
a way that produces files that are easy to generate
and read (by a computer), that are unambiguous,
and that avoid common pitfalls, such as lack of
extensibility, lack of support for
internationalization, and platform-dependency.“
Wolfgang Wiese, RRZE Web-Technologies I 5
Client-Side ProgrammingClient-Side Programming 44
 Simple example of XML Usage:
<?xml version=„1.0“ ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (#PCDATA)>
<!ELEMENT content (#PCDATA)>
]>
<greeting>Hallo XML! </greeting>
<content>
Here, we write a nice text that says nothing, but is out content...
</content>
See also:
http://www.w3.org/XML/
http://www.w3.org/TR/2000/REC-xml-20001006
Wolfgang Wiese, RRZE Web-Technologies I 6
Client-Side ProgrammingClient-Side Programming 55
 JavaScript
 JavaScript is a cross-platform, object-oriented
scripting language.
 Used mostly within HTML-pages.
 JavaScript contains a core set of objects, such as
Array, Date, and Math, and a core set of language
elements such as operators, control structures,
and statements.
 Created originally by Netscape and Sun
Microsystems. (Within MSIE „extended“ by the
JScript-Library).
 Allows also usage for server-side programming
Wolfgang Wiese, RRZE Web-Technologies I 7
Client-Side ProgrammingClient-Side Programming 66
 Sample JavaScript
<html>
<head>
<title>Beispiel</title>
<script language="JavaScript"> <!--
function Quadrat(Zahl) {
Ergebnis = Zahl * Zahl;
alert("Das Quadrat von " + Zahl + " = " + Ergebnis);
}
//--> </script>
</head>
<body><form>
<input type=button value="Quadrat von 6 errechnen" onClick="Quadrat(6)">
</form></body></html>
Wolfgang Wiese, RRZE Web-Technologies I 8
Client-Side ProgrammingClient-Side Programming 77
 Sample JavaScript (cont.)
Wolfgang Wiese, RRZE Web-Technologies I 9
Client-Side ProgrammingClient-Side Programming 88
 JavaScript (cont.)
 JavaScript is mostly used as enhancement
for webdesign; Due to its possibility to
access and chance objects (like HTML-
Tags), it allows effects fo improve the
usability of websites.
 Often used: onMouseOver, onClick
 Professional effects in combination with CSS
(but CSS also replaces some JS-functions)
Wolfgang Wiese, RRZE Web-Technologies I 10
Client-Side ProgrammingClient-Side Programming 99
 Cascading Style Sheets (CSS)
 HTML specification lists guidlines on how
browsers should display HTML-Tags.
Example:
<style type=„text/css“>
h1,h2,h3,h4 {
color: navy;
font-family: Garamond, Helvetica, serif;
}
h1.dark {
color: black;
}
</style>
Wolfgang Wiese, RRZE Web-Technologies I 11
Client-Side ProgrammingClient-Side Programming 1010
 Cascading Style Sheets (cont.)
 CSS is, like HTML, standardized by the W3C
http://www.w3.org/Style/CSS
 In combination with new HTML-Versions, it will
replace old HTML-tags, like <font>, <hr>,
<strong>, ...
 CSS requires browsers that supports this format
(IE / NS >= V4.0). Older browsers will ignore all
settings made by CSS.
 CSS definitions can be placed within a file;
Therefore it‘s possible to chance the layout of all
WebPages by changing one single CSS-file.
Wolfgang Wiese, RRZE Web-Technologies I 12
Client-Side ProgrammingClient-Side Programming 1111
 Other client-side techniques
 Flash
 Browser-Plugin by Macromedia
(http://www.macromedia.com)
 Allows interactive vector-graphics and animations
 Mostly used for special effects, small movieclips and 3D-
graphics
 RSS-Feeds
 RSS = Really Simple Syndication (Web content
syndication format.)
 XML-File for special news. Often also used for Blogs
(Web-Logs)
 Technical infos: http://backend.userland.com/rss
 Experimental or old techniques:
 cURL, VRML (Virtual Reality Modeling Language)
Wolfgang Wiese, RRZE Web-Technologies I 13
Server-Side ProgrammingServer-Side Programming 11
 Introduction
 Server-Side Programming:
 UserAgent (Browser) requests a dynamic document by
asking for a file
 Optional extra information is sent to the server using
GET or POST
 Server parses the user-request and creates the
document by internal procedures
 On success, the document is sent back to the user
 Several methods for servers to create a dynamic
document:
 CGI
 SSI
 PHP
 ASP and others
Wolfgang Wiese, RRZE Web-Technologies I 14
Server-Side ProgrammingServer-Side Programming 22
 Recall: Accessing a static page
Client Network Webserver
URL
File
Filesystem
URL Filename
DataData
Typical access: URL = Protocol + Domain name or
IP (+ Port) + Filename within the Document Root
Examples:
http://www.uni-erlangen.de/index.html
http://www.uni-erlangen.de:181/index.html
https://131.188.3.67/internal/documents/
Wolfgang Wiese, RRZE Web-Technologies I 15
Server-Side ProgrammingServer-Side Programming 33
 Accessing a static page (cont.)
 Document Root: „Starting point“ (path) within the
filesystem
 Data of a webpage consists of:
 Header-Informations
 Example:
 Body (Plain Text, HTML, XML, ...)
Content-type: text/html
Server: Apache/1.3.27
Title: Portal
Status: 200
Content_length: 6675
Wolfgang Wiese, RRZE Web-Technologies I 16
Server-Side ProgrammingServer-Side Programming 44
 CGI (Common Gateway Interface)
 Header-Info: Part of the header-information the
webserver sends. At least „Content-type“
 Output-Data: Output as defined within Content-
Type.
 Data* = Header-Info + Output-Data
Client Webserver
URL
Data
Process
Processpath +
ENVironment
Data*
Wolfgang Wiese, RRZE Web-Technologies I 17
Server-Side ProgrammingServer-Side Programming 55
 CGI (cont.)
 Process will be loaded and executed anew at
every access
 GET-Request:
 Data will be transmitted as addition to the URL
 Example:
http://www.uni-erlangen.de/cgi-bin/webenv.pl?data=value
 Server will transform this into the standard environment
set of the server: $ENV{‘QUERY_STRING’}
 Example: QUERY_STRING = “data=value”
 Optional use: Sending data on $ENV{‘PATH_INFO’} by
using pathes:
 http://www.uni-erlangen.de/cgi-bin/webenv.pl/pathinfo?data=value
Wolfgang Wiese, RRZE Web-Technologies I 18
Server-Side ProgrammingServer-Side Programming 66
 CGI (cont.)
 POST-Request:
 Data will be transmitted to the script on <STDIN>
 Information wont get saved within the URL
 Length of transmitted data: $ENV{‘CONTENT_LENGTH’}
Wolfgang Wiese, RRZE Web-Technologies I 19
Server-Side ProgrammingServer-Side Programming 77
 CGI with User-Environment
 Reason: Security problems at webservers running
as special user (e.g. root !)
 Several modules to solve this: CGIWrap,
suEXEC, sBox
 Base idea: Script is executed by a user without
admin-rights
Wolfgang Wiese, RRZE Web-Technologies I 20
Server-Side ProgrammingServer-Side Programming 88
 CGI with User-Environment (cont.)
 CGIWrap: User CGI Access
(http://cgiwrap.unixtools.org)
 Allowing the execution of cgi-scripts from local user-
homes with http://www.DOMAIN.TLD/~login/cgi-
bin/skript.cgi
 /~login/cgi-bin/ forces a redirect to a wrapper-script, that
executes the skript.cgi as user „login“.
 sBox:
(Lincoln Stein, http://stein.cshl.org/software/sbox/ )
 CGIWrap + Configurable ceilings on script resource
usage
(CPU, disk, memory and process usage, sets priority and
restrictions to ENV)
Wolfgang Wiese, RRZE Web-Technologies I 21
Server-Side ProgrammingServer-Side Programming 99
 CGI with User-Environment (cont.)
 suEXEC: Apache-module
(http://httpd.apache.org/docs/suexec.html)
 Allows the execution of all CGI-Scripts, SSI and PHP-CGI on a
defined user ID
 No special syntax for cgi-directories
 Supports the use for virtual hosts
URL
Data
Process
Processpath +
ENV
Data*
ChangeRoot
Script:
New user =
UsernameData*
Processpath +
Username +
ENV
Client Webserver
Wolfgang Wiese, RRZE Web-Technologies I 22
Server-Side ProgrammingServer-Side Programming 1010
 SSI (Server Side Includes)
Client
Webserver
File.shtml
Filesystem
URL
Data
SSI-Parser
Read file
Content with
SSI
Content with
SSI
Content
without SSI
Wolfgang Wiese, RRZE Web-Technologies I 23
Server-Side ProgrammingServer-Side Programming 1111
 SSI (cont.)
 SSI-Tags are parsed by the server
 SSI-Tags are parsed as long as there are no SSI-Tags
anymore within the document
 Examples:
 <!--#echo var=„DATE_LOCAL“-->
will be replaced with the string for the local time of the server
 <!--#include virtual=„filename.shtml“ -->
will insert the content of filename.shtml. filename.shtml can use
SSI-Tags too!
(Recursive includes of files will be detected.)
 <!--#include virtual=„/cgi-bin/skript.cgi?values“-->
can be used to execute scripts
 SSI-files often use the suffix „.shtml“ as default
 SSI works together with suEXEC, but not with CGIWrap or
sBox
Wolfgang Wiese, RRZE Web-Technologies I 24
Server-Side ProgrammingServer-Side Programming 1212
 SSI + CGI (without suEXEC)
Client
Webserver
URL
Data
File.shtml
Filesystem
Read file
Content with
SSI
SSI-Parser
Content with
SSI
Content
without SSI
Process
Processpath +
ENV
Data*
Wolfgang Wiese, RRZE Web-Technologies I 25
Server-Side ProgrammingServer-Side Programming 1313
 SSI + CGI (cont.)
 Example SSI-file: index.shtml
 navigation.shtml
 German samples: http://cgi.xwolf.de/ssi
<body>
<!--#include virtual=„navigation.shtml“-->
Hallo, <br>
willkommen auf meiner Seite.
</body>
<hr><a href=„http://www.fau.de“>FAU</a>
<a href=„http://www.web.de“>Web.de</a> Zeit:
<!--#config timefmt=„%d.%m.%Y, %H.%M“-->
<!--#echo var=„DATE_LOCAL“--><hr>
Wolfgang Wiese, RRZE Web-Technologies I 26
Server-Side ProgrammingServer-Side Programming 1414
 SSI + CGI (cont.)
 Content send to the UserAgent by the web
server:
<body>
<hr><a href=„http://www.fau.de“>FAU</a>
<a href=„http://www.web.de“>Web.de</a> Zeit:
26.06.2003, 13.17<hr>
Hallo, <br>
willkommen auf meiner Seite.
</body>
Wolfgang Wiese, RRZE Web-Technologies I 27
Server-Side ProgrammingServer-Side Programming 1515
 Embedded Scripts
 Recall: Normal CGI-processes will be
loaded and executed anew at every
request.
 Embedded scripts keep already loaded
scripts in memory.
 Script-Interpreter is (compiled) part of the
webserver or implemented as module (like
in Apache later Version 1.3.12)
 Popular in use with PHP
 Also in use for Perl-CGI-scripts and
Databases
Wolfgang Wiese, RRZE Web-Technologies I 28
Server-Side ProgrammingServer-Side Programming 1616
 Embedded Scripts (cont.)
 First access by client1:
Client1
URL
Data
(Module)
Scriptmanagement and
-Interpreter
Data*
Interpreted
Script
Data* ENV
ENV +
Skriptpath
Webserver
Read File
Script
Filesystem
Wolfgang Wiese, RRZE Web-Technologies I 29
Server-Side ProgrammingServer-Side Programming 1717
 Embedded Scripts (cont.)
 Later access for clientX
ClientX
URL
Data
(Module)
Scriptmanagement and
-Interpreter
Interpreted
Script
Data*
Data* ENV
ENV +
Skriptpath
Webserver
Wolfgang Wiese, RRZE Web-Technologies I 30
Web-Content-ManagementWeb-Content-Management 11
 Basic Principle:
 Partitioning Content and Layout
+
#Titel#
#Bild#
#Text#
Layout
<Titel>
Martin Muster
</Titel>
<Bild>
mustermann.gif
</Bild>
<Text>
Bla..Bla..
</Text>
Content
=
Martin Muster
?Bla...
Bla...
Webpage
Wolfgang Wiese, RRZE Web-Technologies I 31
Web-Content-ManagementWeb-Content-Management 22
 Content-Management is needed for:
 Huge amount of information, gathered and created by many
people
 Information with references to many other information, that
might refer back: complex link-trees
 Information with a limited lifetime: Content-lifecycle
 Web-Content-Management
 Information = Content is presented within a given layout to
the public by using the world wide web.
 Clients are requesting all information from a webserver
 All techniques a webserver offers may be used by a web-
content-management
Wolfgang Wiese, RRZE Web-Technologies I 32
Web-Content-ManagementWeb-Content-Management 33
 Web-Content-Management-Systems (WCMS) are
using several techniques of server-side
programming:
 CGI
 SSI
 Embedded Scripts
 Basic aspects of WCMS are
 Management of content and layout
 Interaction with databases and/or special file formats
 Concepts for data management in respect of Web-Requests
 User-Management
 Workflow for content-lifecycle
Wolfgang Wiese, RRZE Web-Technologies I 33
Web-Content-ManagementWeb-Content-Management 44
 Content lifecycle
Author
creates/edits
Content
Chief
Editor
controls
content
Content gets
archived
Publishing:
Contents
becomes
public
Bad content
okSome time
later...
Wolfgang Wiese, RRZE Web-Technologies I 34
Web-Content-ManagementWeb-Content-Management 55
 Publishing-/Staging-Server
 Basic principle for client requests
HTML-
Files
Client
Webserver
(Staging)
File
Filesystem
URL Read File
Data
Content
Database
Layouts
(HTML)
Filesystem
WCMS
(Publishing)
Read
File
Read
Data
Wolfgang Wiese, RRZE Web-Technologies I 35
Web-Content-ManagementWeb-Content-Management 66
 Publishing-/Staging-Server (cont.)
 Editors view
(Client using a Webserver)
Client
(Editor)
Webserver
URL + Auth
Data
Content
Database
Layouts
(HTML)
Filesystem
WCMS
Edit
File
Read
/Store
Data
Data*
ENV + Auth
Wolfgang Wiese, RRZE Web-Technologies I 36
Web-Content-ManagementWeb-Content-Management 77
 Publishing-/Staging-Server (cont.)
 On editor command or time interval, WCMS will dump new
HTML-files on Webserver‘s filesystem
 The use of WCMS with this principle is (mostly) transparent
to users which are requesting web pages
 Files are secure against modifications on the webserver:
Dump of the WCMS will overwrite it
 Good performance due to static HTML-files on webserver
 Supports backup (database of WCMS)
 Consistency-problems during file-dumping. Bad for pages
with many changes in short time
 Static pages are registered by internet search engines
Wolfgang Wiese, RRZE Web-Technologies I 37
Web-Content-ManagementWeb-Content-Management 88
 Dynamic Publishing
Client
URL
Data
Content
Database
Layouts
(HTML)
Filesystem
Webserver
(Dynamic Publishing)
Read
File
Read
Data
Wolfgang Wiese, RRZE Web-Technologies I 38
Web-Content-ManagementWeb-Content-Management 99
 Dynamic Publishing (cont.)
 All data is created on-the-fly: No Static pages
anymore!
 Changes in content or layout are published as
soon as they are accepted
 Local Search engines (database search) can be
used to get new data-output
 Output can get personalized for clients and/or
authentificated users
 Needs huge resources for server-hardware (CPU,
disk, memory and process usage)
 Problems with internet search engines: Dynamic
pages will not get listed in search engines (!)
Wolfgang Wiese, RRZE Web-Technologies I 39
Web-Content-ManagementWeb-Content-Management 1010
 Publishing- /Staging and Extract-Concept
Webserver
(Staging)
File
(HTML)
Filesystem
Read File
Client
(Reader)
Data
URL + Auth
Client
(Editor)
Data
Data*
ENV + Auth
Layouts
(HTML,
XHTML,
XSLT)
Filesystem
Read
File
Meta-
Data
Database
Read/
Edit
Meta-
data
Publishing
Extracting
WCMS
Wolfgang Wiese, RRZE Web-Technologies I 40
Web-Content-ManagementWeb-Content-Management 1111
 Publishing- /Staging and Extract-Concept
(cont.)
 Good performance due to static HTML-Files
 Supports files with many content-refreshes
 Allows import of existing files
 Allows parallel use of other WCMS and
Webeditors onto the same files
 Problems with change for Layout of many files
 Other concepts
 Combinations of the methods above
 Dynamic publishing with caching: Dumpout of few
HTML-files that are requested often

More Related Content

What's hot

Web Server(Apache),
Web Server(Apache), Web Server(Apache),
Web Server(Apache), webhostingguy
 
Apache Web Server Architecture Chaitanya Kulkarni
Apache Web Server Architecture Chaitanya KulkarniApache Web Server Architecture Chaitanya Kulkarni
Apache Web Server Architecture Chaitanya Kulkarniwebhostingguy
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtechArpit Meena
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtechkaran saini
 
Bypass file upload restrictions
Bypass file upload restrictionsBypass file upload restrictions
Bypass file upload restrictionsMukesh k.r
 
Web Services
Web ServicesWeb Services
Web ServicesKrish
 
20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_ChesnokovVladimir Chesnokov
 
Cross Origin Resource Sharing
Cross Origin Resource SharingCross Origin Resource Sharing
Cross Origin Resource SharingLuke Weerasooriya
 
HTTP protocol and Streams Security
HTTP protocol and Streams SecurityHTTP protocol and Streams Security
HTTP protocol and Streams SecurityBlueinfy Solutions
 
Misconfigured CORS, Why being secure isn't getting easier. AppSec USA 2016
Misconfigured CORS, Why being secure isn't getting easier. AppSec USA 2016Misconfigured CORS, Why being secure isn't getting easier. AppSec USA 2016
Misconfigured CORS, Why being secure isn't getting easier. AppSec USA 2016Evan J Johnson (Not a CISSP)
 
Apache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual HostingApache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual Hostingwebhostingguy
 
Css Founder.com | Cssfounder Net
Css Founder.com | Cssfounder NetCss Founder.com | Cssfounder Net
Css Founder.com | Cssfounder NetCss Founder
 

What's hot (20)

Web Server(Apache),
Web Server(Apache), Web Server(Apache),
Web Server(Apache),
 
5-WebServers.ppt
5-WebServers.ppt5-WebServers.ppt
5-WebServers.ppt
 
Basics of the Web Platform
Basics of the Web PlatformBasics of the Web Platform
Basics of the Web Platform
 
your browser, my storage
your browser, my storageyour browser, my storage
your browser, my storage
 
Apache Web Server Architecture Chaitanya Kulkarni
Apache Web Server Architecture Chaitanya KulkarniApache Web Server Architecture Chaitanya Kulkarni
Apache Web Server Architecture Chaitanya Kulkarni
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtech
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtech
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtech
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtech
 
Bypass file upload restrictions
Bypass file upload restrictionsBypass file upload restrictions
Bypass file upload restrictions
 
Web Services
Web ServicesWeb Services
Web Services
 
Php reports sumit
Php reports sumitPhp reports sumit
Php reports sumit
 
20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov
 
Cross Origin Resource Sharing
Cross Origin Resource SharingCross Origin Resource Sharing
Cross Origin Resource Sharing
 
HTTP protocol and Streams Security
HTTP protocol and Streams SecurityHTTP protocol and Streams Security
HTTP protocol and Streams Security
 
Misconfigured CORS, Why being secure isn't getting easier. AppSec USA 2016
Misconfigured CORS, Why being secure isn't getting easier. AppSec USA 2016Misconfigured CORS, Why being secure isn't getting easier. AppSec USA 2016
Misconfigured CORS, Why being secure isn't getting easier. AppSec USA 2016
 
Intro apache
Intro apacheIntro apache
Intro apache
 
Apache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual HostingApache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual Hosting
 
Web services
Web servicesWeb services
Web services
 
Css Founder.com | Cssfounder Net
Css Founder.com | Cssfounder NetCss Founder.com | Cssfounder Net
Css Founder.com | Cssfounder Net
 

Viewers also liked

Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?Marcel Caraciolo
 
Lezing valid webversie
Lezing valid webversieLezing valid webversie
Lezing valid webversieSjef Kerkhofs
 
Bolji svet - Uvodni webinar
Bolji svet  - Uvodni webinarBolji svet  - Uvodni webinar
Bolji svet - Uvodni webinarMaja Vujovic
 
Rob Whiteman - Learning Pool Conference
Rob Whiteman - Learning Pool ConferenceRob Whiteman - Learning Pool Conference
Rob Whiteman - Learning Pool ConferencePaul McElvaney
 
Learning Pool Social Care Seminar
Learning Pool Social Care SeminarLearning Pool Social Care Seminar
Learning Pool Social Care SeminarPaul McElvaney
 
Webinar: Upravljanje poslom - produktivnost u praksi
Webinar: Upravljanje poslom - produktivnost u praksiWebinar: Upravljanje poslom - produktivnost u praksi
Webinar: Upravljanje poslom - produktivnost u praksiMaja Vujovic
 
Worksheet
WorksheetWorksheet
WorksheetNg Lim
 
Learning pool community rewards
Learning pool community rewardsLearning pool community rewards
Learning pool community rewardsPaul McElvaney
 
Dave Briggs on digital engagement
Dave Briggs on digital engagementDave Briggs on digital engagement
Dave Briggs on digital engagementPaul McElvaney
 
Pobedite 10 slabosti u poslu koje EU ne trpi
Pobedite 10 slabosti u poslu koje EU ne trpiPobedite 10 slabosti u poslu koje EU ne trpi
Pobedite 10 slabosti u poslu koje EU ne trpiMaja Vujovic
 
E-komunikacija: E-saopstenja (uvod u vebinar)
E-komunikacija: E-saopstenja (uvod u vebinar)E-komunikacija: E-saopstenja (uvod u vebinar)
E-komunikacija: E-saopstenja (uvod u vebinar)Maja Vujovic
 
Building Scalable Web Apps
Building Scalable Web AppsBuilding Scalable Web Apps
Building Scalable Web Appszeeg
 
Gráfico junho 2010 colorido
Gráfico junho 2010 coloridoGráfico junho 2010 colorido
Gráfico junho 2010 coloridoNelson Silva
 
'Social Care - a provision through e-learning', Carol Judge, Warwickshire Cou...
'Social Care - a provision through e-learning', Carol Judge, Warwickshire Cou...'Social Care - a provision through e-learning', Carol Judge, Warwickshire Cou...
'Social Care - a provision through e-learning', Carol Judge, Warwickshire Cou...Paul McElvaney
 
Webtech 2010: facebook framework
Webtech 2010: facebook frameworkWebtech 2010: facebook framework
Webtech 2010: facebook frameworkMatteo Baccan
 

Viewers also liked (20)

Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?Opensource - Como começar e dá dinheiro ?
Opensource - Como começar e dá dinheiro ?
 
Reed business preso
Reed business presoReed business preso
Reed business preso
 
Hazel and Kate-Unison
Hazel and Kate-UnisonHazel and Kate-Unison
Hazel and Kate-Unison
 
Lezing valid webversie
Lezing valid webversieLezing valid webversie
Lezing valid webversie
 
Bolji svet - Uvodni webinar
Bolji svet  - Uvodni webinarBolji svet  - Uvodni webinar
Bolji svet - Uvodni webinar
 
Rob Whiteman - Learning Pool Conference
Rob Whiteman - Learning Pool ConferenceRob Whiteman - Learning Pool Conference
Rob Whiteman - Learning Pool Conference
 
Learning Pool Social Care Seminar
Learning Pool Social Care SeminarLearning Pool Social Care Seminar
Learning Pool Social Care Seminar
 
Webinar: Upravljanje poslom - produktivnost u praksi
Webinar: Upravljanje poslom - produktivnost u praksiWebinar: Upravljanje poslom - produktivnost u praksi
Webinar: Upravljanje poslom - produktivnost u praksi
 
Worksheet
WorksheetWorksheet
Worksheet
 
Learning pool community rewards
Learning pool community rewardsLearning pool community rewards
Learning pool community rewards
 
2markit
2markit2markit
2markit
 
Lezing abn 1 nov
Lezing abn 1 novLezing abn 1 nov
Lezing abn 1 nov
 
Dave Briggs on digital engagement
Dave Briggs on digital engagementDave Briggs on digital engagement
Dave Briggs on digital engagement
 
Pobedite 10 slabosti u poslu koje EU ne trpi
Pobedite 10 slabosti u poslu koje EU ne trpiPobedite 10 slabosti u poslu koje EU ne trpi
Pobedite 10 slabosti u poslu koje EU ne trpi
 
E-komunikacija: E-saopstenja (uvod u vebinar)
E-komunikacija: E-saopstenja (uvod u vebinar)E-komunikacija: E-saopstenja (uvod u vebinar)
E-komunikacija: E-saopstenja (uvod u vebinar)
 
Building Scalable Web Apps
Building Scalable Web AppsBuilding Scalable Web Apps
Building Scalable Web Apps
 
Gráfico junho 2010 colorido
Gráfico junho 2010 coloridoGráfico junho 2010 colorido
Gráfico junho 2010 colorido
 
'Social Care - a provision through e-learning', Carol Judge, Warwickshire Cou...
'Social Care - a provision through e-learning', Carol Judge, Warwickshire Cou...'Social Care - a provision through e-learning', Carol Judge, Warwickshire Cou...
'Social Care - a provision through e-learning', Carol Judge, Warwickshire Cou...
 
Webtech 2010: facebook framework
Webtech 2010: facebook frameworkWebtech 2010: facebook framework
Webtech 2010: facebook framework
 
Sesion 4 .PRESENTACIÓN
Sesion 4 .PRESENTACIÓN Sesion 4 .PRESENTACIÓN
Sesion 4 .PRESENTACIÓN
 

Similar to Web-Technologies 26.06.2003

Similar to Web-Technologies 26.06.2003 (20)

Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.ppt
 
Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.ppt
 
Hypertext Mark Up Language Introduction.
Hypertext Mark Up Language Introduction.Hypertext Mark Up Language Introduction.
Hypertext Mark Up Language Introduction.
 
Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.ppt
 
Basics of HTML.ppt
Basics of HTML.pptBasics of HTML.ppt
Basics of HTML.ppt
 
Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.ppt
 
Sergey Stoyan 2016
Sergey Stoyan 2016Sergey Stoyan 2016
Sergey Stoyan 2016
 
Sergey Stoyan 2016
Sergey Stoyan 2016Sergey Stoyan 2016
Sergey Stoyan 2016
 
HTML5 Intoduction for Web Developers
HTML5 Intoduction for Web DevelopersHTML5 Intoduction for Web Developers
HTML5 Intoduction for Web Developers
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
5-WebServers.ppt
5-WebServers.ppt5-WebServers.ppt
5-WebServers.ppt
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Word camp nextweb
Word camp nextwebWord camp nextweb
Word camp nextweb
 
Word camp nextweb
Word camp nextwebWord camp nextweb
Word camp nextweb
 
WordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWebWordCamp Thessaloniki2011 The NextWeb
WordCamp Thessaloniki2011 The NextWeb
 
Asp.netrole
Asp.netroleAsp.netrole
Asp.netrole
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5
 
are available here
are available hereare available here
are available here
 
Introduction to asp
Introduction to aspIntroduction to asp
Introduction to asp
 

More from Wolfgang Wiese

Webdienste an der FAU: Gestern, Heute, Übermorgen
Webdienste an der FAU: Gestern, Heute, ÜbermorgenWebdienste an der FAU: Gestern, Heute, Übermorgen
Webdienste an der FAU: Gestern, Heute, ÜbermorgenWolfgang Wiese
 
ZKI AK Web 2018/2: Vortrag zum Leitfaden Digitale Barrierefreiheit
ZKI AK Web 2018/2: Vortrag zum Leitfaden Digitale BarrierefreiheitZKI AK Web 2018/2: Vortrag zum Leitfaden Digitale Barrierefreiheit
ZKI AK Web 2018/2: Vortrag zum Leitfaden Digitale BarrierefreiheitWolfgang Wiese
 
WKE2018: Leitfaden Digitale Barrierefreiheit
WKE2018: Leitfaden Digitale BarrierefreiheitWKE2018: Leitfaden Digitale Barrierefreiheit
WKE2018: Leitfaden Digitale BarrierefreiheitWolfgang Wiese
 
Einführung in die Suchmaschinenoptimierung
Einführung in die SuchmaschinenoptimierungEinführung in die Suchmaschinenoptimierung
Einführung in die SuchmaschinenoptimierungWolfgang Wiese
 
Einführung in die Suchmaschinenoptimierung
Einführung in die SuchmaschinenoptimierungEinführung in die Suchmaschinenoptimierung
Einführung in die SuchmaschinenoptimierungWolfgang Wiese
 
Relaunch mit Web-Agenturen: Spiel, Spaß und Spannung
Relaunch mit Web-Agenturen: Spiel, Spaß und SpannungRelaunch mit Web-Agenturen: Spiel, Spaß und Spannung
Relaunch mit Web-Agenturen: Spiel, Spaß und SpannungWolfgang Wiese
 
Dieses Web? Das kann doch jeder
Dieses Web? Das kann doch jederDieses Web? Das kann doch jeder
Dieses Web? Das kann doch jederWolfgang Wiese
 
WKE2014: The Beauty & The Beast
WKE2014: The Beauty & The BeastWKE2014: The Beauty & The Beast
WKE2014: The Beauty & The BeastWolfgang Wiese
 
Barrierefreie Internet Seiten
Barrierefreie Internet SeitenBarrierefreie Internet Seiten
Barrierefreie Internet SeitenWolfgang Wiese
 

More from Wolfgang Wiese (14)

Webdienste an der FAU: Gestern, Heute, Übermorgen
Webdienste an der FAU: Gestern, Heute, ÜbermorgenWebdienste an der FAU: Gestern, Heute, Übermorgen
Webdienste an der FAU: Gestern, Heute, Übermorgen
 
ZKI AK Web 2018/2: Vortrag zum Leitfaden Digitale Barrierefreiheit
ZKI AK Web 2018/2: Vortrag zum Leitfaden Digitale BarrierefreiheitZKI AK Web 2018/2: Vortrag zum Leitfaden Digitale Barrierefreiheit
ZKI AK Web 2018/2: Vortrag zum Leitfaden Digitale Barrierefreiheit
 
WKE2018: Leitfaden Digitale Barrierefreiheit
WKE2018: Leitfaden Digitale BarrierefreiheitWKE2018: Leitfaden Digitale Barrierefreiheit
WKE2018: Leitfaden Digitale Barrierefreiheit
 
WCAG für WebDevs
WCAG für WebDevsWCAG für WebDevs
WCAG für WebDevs
 
Embedding
EmbeddingEmbedding
Embedding
 
Einführung in die Suchmaschinenoptimierung
Einführung in die SuchmaschinenoptimierungEinführung in die Suchmaschinenoptimierung
Einführung in die Suchmaschinenoptimierung
 
Blogdienst der FAU
Blogdienst der FAUBlogdienst der FAU
Blogdienst der FAU
 
Einführung in die Suchmaschinenoptimierung
Einführung in die SuchmaschinenoptimierungEinführung in die Suchmaschinenoptimierung
Einführung in die Suchmaschinenoptimierung
 
Relaunch mit Web-Agenturen: Spiel, Spaß und Spannung
Relaunch mit Web-Agenturen: Spiel, Spaß und SpannungRelaunch mit Web-Agenturen: Spiel, Spaß und Spannung
Relaunch mit Web-Agenturen: Spiel, Spaß und Spannung
 
Dieses Web? Das kann doch jeder
Dieses Web? Das kann doch jederDieses Web? Das kann doch jeder
Dieses Web? Das kann doch jeder
 
Wordpress als CMS
Wordpress als CMSWordpress als CMS
Wordpress als CMS
 
Barrierefreiheit 2010
Barrierefreiheit 2010Barrierefreiheit 2010
Barrierefreiheit 2010
 
WKE2014: The Beauty & The Beast
WKE2014: The Beauty & The BeastWKE2014: The Beauty & The Beast
WKE2014: The Beauty & The Beast
 
Barrierefreie Internet Seiten
Barrierefreie Internet SeitenBarrierefreie Internet Seiten
Barrierefreie Internet Seiten
 

Recently uploaded

IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119APNIC
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxNIMMANAGANTI RAMAKRISHNA
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxmibuzondetrabajo
 
Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxMario
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxAndrieCagasanAkio
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesLumiverse Solutions Pvt Ltd
 

Recently uploaded (9)

IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptx
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptx
 
Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptx
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptx
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best Practices
 

Web-Technologies 26.06.2003

  • 1. Wolfgang Wiese, RRZE Web-Technologies I 1 Web-TechnologiesWeb-Technologies  Chapters  Client-Side Programming  Server-Side Programming  Web-Content-Management  Web-Services  Apache Webserver  Robots, Spiders and Search engines  Robots and Spiders  Search engines in general  Google
  • 2. Wolfgang Wiese, RRZE Web-Technologies I 2 Client-Side ProgrammingClient-Side Programming 11  HTML  HTML = HyperText Markup Language  Developed since 1989 as platform independent markup language  International standardized by the W3C (http://www.w3.org)  Last release: Version 4.0  New extended version: XHTML 2.0  Often extended with non-standardized tags by developer of browser and web- authoring-programs
  • 3. Wolfgang Wiese, RRZE Web-Technologies I 3 Client-Side ProgrammingClient-Side Programming 22  Example base structure of a HTML- document <HTML> <HEAD> <TITLE>My HTML-Document</TITLE> </HEAD> <BODY> <P>Hallo World!</P> </BODY> </HTML>
  • 4. Wolfgang Wiese, RRZE Web-Technologies I 4 Client-Side ProgrammingClient-Side Programming 33  XML  Extensible Markup Language  With help of XML its possible to define content and the structured layout of a page in several parts => automatic analysis is possible. In other words:  „XML is a set of rules for designing text formats, in a way that produces files that are easy to generate and read (by a computer), that are unambiguous, and that avoid common pitfalls, such as lack of extensibility, lack of support for internationalization, and platform-dependency.“
  • 5. Wolfgang Wiese, RRZE Web-Technologies I 5 Client-Side ProgrammingClient-Side Programming 44  Simple example of XML Usage: <?xml version=„1.0“ ?> <!DOCTYPE greeting [ <!ELEMENT greeting (#PCDATA)> <!ELEMENT content (#PCDATA)> ]> <greeting>Hallo XML! </greeting> <content> Here, we write a nice text that says nothing, but is out content... </content> See also: http://www.w3.org/XML/ http://www.w3.org/TR/2000/REC-xml-20001006
  • 6. Wolfgang Wiese, RRZE Web-Technologies I 6 Client-Side ProgrammingClient-Side Programming 55  JavaScript  JavaScript is a cross-platform, object-oriented scripting language.  Used mostly within HTML-pages.  JavaScript contains a core set of objects, such as Array, Date, and Math, and a core set of language elements such as operators, control structures, and statements.  Created originally by Netscape and Sun Microsystems. (Within MSIE „extended“ by the JScript-Library).  Allows also usage for server-side programming
  • 7. Wolfgang Wiese, RRZE Web-Technologies I 7 Client-Side ProgrammingClient-Side Programming 66  Sample JavaScript <html> <head> <title>Beispiel</title> <script language="JavaScript"> <!-- function Quadrat(Zahl) { Ergebnis = Zahl * Zahl; alert("Das Quadrat von " + Zahl + " = " + Ergebnis); } //--> </script> </head> <body><form> <input type=button value="Quadrat von 6 errechnen" onClick="Quadrat(6)"> </form></body></html>
  • 8. Wolfgang Wiese, RRZE Web-Technologies I 8 Client-Side ProgrammingClient-Side Programming 77  Sample JavaScript (cont.)
  • 9. Wolfgang Wiese, RRZE Web-Technologies I 9 Client-Side ProgrammingClient-Side Programming 88  JavaScript (cont.)  JavaScript is mostly used as enhancement for webdesign; Due to its possibility to access and chance objects (like HTML- Tags), it allows effects fo improve the usability of websites.  Often used: onMouseOver, onClick  Professional effects in combination with CSS (but CSS also replaces some JS-functions)
  • 10. Wolfgang Wiese, RRZE Web-Technologies I 10 Client-Side ProgrammingClient-Side Programming 99  Cascading Style Sheets (CSS)  HTML specification lists guidlines on how browsers should display HTML-Tags. Example: <style type=„text/css“> h1,h2,h3,h4 { color: navy; font-family: Garamond, Helvetica, serif; } h1.dark { color: black; } </style>
  • 11. Wolfgang Wiese, RRZE Web-Technologies I 11 Client-Side ProgrammingClient-Side Programming 1010  Cascading Style Sheets (cont.)  CSS is, like HTML, standardized by the W3C http://www.w3.org/Style/CSS  In combination with new HTML-Versions, it will replace old HTML-tags, like <font>, <hr>, <strong>, ...  CSS requires browsers that supports this format (IE / NS >= V4.0). Older browsers will ignore all settings made by CSS.  CSS definitions can be placed within a file; Therefore it‘s possible to chance the layout of all WebPages by changing one single CSS-file.
  • 12. Wolfgang Wiese, RRZE Web-Technologies I 12 Client-Side ProgrammingClient-Side Programming 1111  Other client-side techniques  Flash  Browser-Plugin by Macromedia (http://www.macromedia.com)  Allows interactive vector-graphics and animations  Mostly used for special effects, small movieclips and 3D- graphics  RSS-Feeds  RSS = Really Simple Syndication (Web content syndication format.)  XML-File for special news. Often also used for Blogs (Web-Logs)  Technical infos: http://backend.userland.com/rss  Experimental or old techniques:  cURL, VRML (Virtual Reality Modeling Language)
  • 13. Wolfgang Wiese, RRZE Web-Technologies I 13 Server-Side ProgrammingServer-Side Programming 11  Introduction  Server-Side Programming:  UserAgent (Browser) requests a dynamic document by asking for a file  Optional extra information is sent to the server using GET or POST  Server parses the user-request and creates the document by internal procedures  On success, the document is sent back to the user  Several methods for servers to create a dynamic document:  CGI  SSI  PHP  ASP and others
  • 14. Wolfgang Wiese, RRZE Web-Technologies I 14 Server-Side ProgrammingServer-Side Programming 22  Recall: Accessing a static page Client Network Webserver URL File Filesystem URL Filename DataData Typical access: URL = Protocol + Domain name or IP (+ Port) + Filename within the Document Root Examples: http://www.uni-erlangen.de/index.html http://www.uni-erlangen.de:181/index.html https://131.188.3.67/internal/documents/
  • 15. Wolfgang Wiese, RRZE Web-Technologies I 15 Server-Side ProgrammingServer-Side Programming 33  Accessing a static page (cont.)  Document Root: „Starting point“ (path) within the filesystem  Data of a webpage consists of:  Header-Informations  Example:  Body (Plain Text, HTML, XML, ...) Content-type: text/html Server: Apache/1.3.27 Title: Portal Status: 200 Content_length: 6675
  • 16. Wolfgang Wiese, RRZE Web-Technologies I 16 Server-Side ProgrammingServer-Side Programming 44  CGI (Common Gateway Interface)  Header-Info: Part of the header-information the webserver sends. At least „Content-type“  Output-Data: Output as defined within Content- Type.  Data* = Header-Info + Output-Data Client Webserver URL Data Process Processpath + ENVironment Data*
  • 17. Wolfgang Wiese, RRZE Web-Technologies I 17 Server-Side ProgrammingServer-Side Programming 55  CGI (cont.)  Process will be loaded and executed anew at every access  GET-Request:  Data will be transmitted as addition to the URL  Example: http://www.uni-erlangen.de/cgi-bin/webenv.pl?data=value  Server will transform this into the standard environment set of the server: $ENV{‘QUERY_STRING’}  Example: QUERY_STRING = “data=value”  Optional use: Sending data on $ENV{‘PATH_INFO’} by using pathes:  http://www.uni-erlangen.de/cgi-bin/webenv.pl/pathinfo?data=value
  • 18. Wolfgang Wiese, RRZE Web-Technologies I 18 Server-Side ProgrammingServer-Side Programming 66  CGI (cont.)  POST-Request:  Data will be transmitted to the script on <STDIN>  Information wont get saved within the URL  Length of transmitted data: $ENV{‘CONTENT_LENGTH’}
  • 19. Wolfgang Wiese, RRZE Web-Technologies I 19 Server-Side ProgrammingServer-Side Programming 77  CGI with User-Environment  Reason: Security problems at webservers running as special user (e.g. root !)  Several modules to solve this: CGIWrap, suEXEC, sBox  Base idea: Script is executed by a user without admin-rights
  • 20. Wolfgang Wiese, RRZE Web-Technologies I 20 Server-Side ProgrammingServer-Side Programming 88  CGI with User-Environment (cont.)  CGIWrap: User CGI Access (http://cgiwrap.unixtools.org)  Allowing the execution of cgi-scripts from local user- homes with http://www.DOMAIN.TLD/~login/cgi- bin/skript.cgi  /~login/cgi-bin/ forces a redirect to a wrapper-script, that executes the skript.cgi as user „login“.  sBox: (Lincoln Stein, http://stein.cshl.org/software/sbox/ )  CGIWrap + Configurable ceilings on script resource usage (CPU, disk, memory and process usage, sets priority and restrictions to ENV)
  • 21. Wolfgang Wiese, RRZE Web-Technologies I 21 Server-Side ProgrammingServer-Side Programming 99  CGI with User-Environment (cont.)  suEXEC: Apache-module (http://httpd.apache.org/docs/suexec.html)  Allows the execution of all CGI-Scripts, SSI and PHP-CGI on a defined user ID  No special syntax for cgi-directories  Supports the use for virtual hosts URL Data Process Processpath + ENV Data* ChangeRoot Script: New user = UsernameData* Processpath + Username + ENV Client Webserver
  • 22. Wolfgang Wiese, RRZE Web-Technologies I 22 Server-Side ProgrammingServer-Side Programming 1010  SSI (Server Side Includes) Client Webserver File.shtml Filesystem URL Data SSI-Parser Read file Content with SSI Content with SSI Content without SSI
  • 23. Wolfgang Wiese, RRZE Web-Technologies I 23 Server-Side ProgrammingServer-Side Programming 1111  SSI (cont.)  SSI-Tags are parsed by the server  SSI-Tags are parsed as long as there are no SSI-Tags anymore within the document  Examples:  <!--#echo var=„DATE_LOCAL“--> will be replaced with the string for the local time of the server  <!--#include virtual=„filename.shtml“ --> will insert the content of filename.shtml. filename.shtml can use SSI-Tags too! (Recursive includes of files will be detected.)  <!--#include virtual=„/cgi-bin/skript.cgi?values“--> can be used to execute scripts  SSI-files often use the suffix „.shtml“ as default  SSI works together with suEXEC, but not with CGIWrap or sBox
  • 24. Wolfgang Wiese, RRZE Web-Technologies I 24 Server-Side ProgrammingServer-Side Programming 1212  SSI + CGI (without suEXEC) Client Webserver URL Data File.shtml Filesystem Read file Content with SSI SSI-Parser Content with SSI Content without SSI Process Processpath + ENV Data*
  • 25. Wolfgang Wiese, RRZE Web-Technologies I 25 Server-Side ProgrammingServer-Side Programming 1313  SSI + CGI (cont.)  Example SSI-file: index.shtml  navigation.shtml  German samples: http://cgi.xwolf.de/ssi <body> <!--#include virtual=„navigation.shtml“--> Hallo, <br> willkommen auf meiner Seite. </body> <hr><a href=„http://www.fau.de“>FAU</a> <a href=„http://www.web.de“>Web.de</a> Zeit: <!--#config timefmt=„%d.%m.%Y, %H.%M“--> <!--#echo var=„DATE_LOCAL“--><hr>
  • 26. Wolfgang Wiese, RRZE Web-Technologies I 26 Server-Side ProgrammingServer-Side Programming 1414  SSI + CGI (cont.)  Content send to the UserAgent by the web server: <body> <hr><a href=„http://www.fau.de“>FAU</a> <a href=„http://www.web.de“>Web.de</a> Zeit: 26.06.2003, 13.17<hr> Hallo, <br> willkommen auf meiner Seite. </body>
  • 27. Wolfgang Wiese, RRZE Web-Technologies I 27 Server-Side ProgrammingServer-Side Programming 1515  Embedded Scripts  Recall: Normal CGI-processes will be loaded and executed anew at every request.  Embedded scripts keep already loaded scripts in memory.  Script-Interpreter is (compiled) part of the webserver or implemented as module (like in Apache later Version 1.3.12)  Popular in use with PHP  Also in use for Perl-CGI-scripts and Databases
  • 28. Wolfgang Wiese, RRZE Web-Technologies I 28 Server-Side ProgrammingServer-Side Programming 1616  Embedded Scripts (cont.)  First access by client1: Client1 URL Data (Module) Scriptmanagement and -Interpreter Data* Interpreted Script Data* ENV ENV + Skriptpath Webserver Read File Script Filesystem
  • 29. Wolfgang Wiese, RRZE Web-Technologies I 29 Server-Side ProgrammingServer-Side Programming 1717  Embedded Scripts (cont.)  Later access for clientX ClientX URL Data (Module) Scriptmanagement and -Interpreter Interpreted Script Data* Data* ENV ENV + Skriptpath Webserver
  • 30. Wolfgang Wiese, RRZE Web-Technologies I 30 Web-Content-ManagementWeb-Content-Management 11  Basic Principle:  Partitioning Content and Layout + #Titel# #Bild# #Text# Layout <Titel> Martin Muster </Titel> <Bild> mustermann.gif </Bild> <Text> Bla..Bla.. </Text> Content = Martin Muster ?Bla... Bla... Webpage
  • 31. Wolfgang Wiese, RRZE Web-Technologies I 31 Web-Content-ManagementWeb-Content-Management 22  Content-Management is needed for:  Huge amount of information, gathered and created by many people  Information with references to many other information, that might refer back: complex link-trees  Information with a limited lifetime: Content-lifecycle  Web-Content-Management  Information = Content is presented within a given layout to the public by using the world wide web.  Clients are requesting all information from a webserver  All techniques a webserver offers may be used by a web- content-management
  • 32. Wolfgang Wiese, RRZE Web-Technologies I 32 Web-Content-ManagementWeb-Content-Management 33  Web-Content-Management-Systems (WCMS) are using several techniques of server-side programming:  CGI  SSI  Embedded Scripts  Basic aspects of WCMS are  Management of content and layout  Interaction with databases and/or special file formats  Concepts for data management in respect of Web-Requests  User-Management  Workflow for content-lifecycle
  • 33. Wolfgang Wiese, RRZE Web-Technologies I 33 Web-Content-ManagementWeb-Content-Management 44  Content lifecycle Author creates/edits Content Chief Editor controls content Content gets archived Publishing: Contents becomes public Bad content okSome time later...
  • 34. Wolfgang Wiese, RRZE Web-Technologies I 34 Web-Content-ManagementWeb-Content-Management 55  Publishing-/Staging-Server  Basic principle for client requests HTML- Files Client Webserver (Staging) File Filesystem URL Read File Data Content Database Layouts (HTML) Filesystem WCMS (Publishing) Read File Read Data
  • 35. Wolfgang Wiese, RRZE Web-Technologies I 35 Web-Content-ManagementWeb-Content-Management 66  Publishing-/Staging-Server (cont.)  Editors view (Client using a Webserver) Client (Editor) Webserver URL + Auth Data Content Database Layouts (HTML) Filesystem WCMS Edit File Read /Store Data Data* ENV + Auth
  • 36. Wolfgang Wiese, RRZE Web-Technologies I 36 Web-Content-ManagementWeb-Content-Management 77  Publishing-/Staging-Server (cont.)  On editor command or time interval, WCMS will dump new HTML-files on Webserver‘s filesystem  The use of WCMS with this principle is (mostly) transparent to users which are requesting web pages  Files are secure against modifications on the webserver: Dump of the WCMS will overwrite it  Good performance due to static HTML-files on webserver  Supports backup (database of WCMS)  Consistency-problems during file-dumping. Bad for pages with many changes in short time  Static pages are registered by internet search engines
  • 37. Wolfgang Wiese, RRZE Web-Technologies I 37 Web-Content-ManagementWeb-Content-Management 88  Dynamic Publishing Client URL Data Content Database Layouts (HTML) Filesystem Webserver (Dynamic Publishing) Read File Read Data
  • 38. Wolfgang Wiese, RRZE Web-Technologies I 38 Web-Content-ManagementWeb-Content-Management 99  Dynamic Publishing (cont.)  All data is created on-the-fly: No Static pages anymore!  Changes in content or layout are published as soon as they are accepted  Local Search engines (database search) can be used to get new data-output  Output can get personalized for clients and/or authentificated users  Needs huge resources for server-hardware (CPU, disk, memory and process usage)  Problems with internet search engines: Dynamic pages will not get listed in search engines (!)
  • 39. Wolfgang Wiese, RRZE Web-Technologies I 39 Web-Content-ManagementWeb-Content-Management 1010  Publishing- /Staging and Extract-Concept Webserver (Staging) File (HTML) Filesystem Read File Client (Reader) Data URL + Auth Client (Editor) Data Data* ENV + Auth Layouts (HTML, XHTML, XSLT) Filesystem Read File Meta- Data Database Read/ Edit Meta- data Publishing Extracting WCMS
  • 40. Wolfgang Wiese, RRZE Web-Technologies I 40 Web-Content-ManagementWeb-Content-Management 1111  Publishing- /Staging and Extract-Concept (cont.)  Good performance due to static HTML-Files  Supports files with many content-refreshes  Allows import of existing files  Allows parallel use of other WCMS and Webeditors onto the same files  Problems with change for Layout of many files  Other concepts  Combinations of the methods above  Dynamic publishing with caching: Dumpout of few HTML-files that are requested often