SlideShare a Scribd company logo
1 of 24
Apache Server Side Includes Ionuț Ştirban
What are server side includes? SSI (Server Side Includes) are directives that are placed in HTML pages, and evaluated on the server while the pages are being served. They let you add dynamically generated content to an existing HTML page, without having to serve the entire page via a CGI program, or other dynamic technology. Example:<!--#echo var="SERVER_NAME"-->
How do Server Side Includes work? When the client requests a document from the SSI-enabled server, specified document is scanned by the server for the SSI code elements and carry's out the required actions based on the code element
Configuration To permit SSI on your server, you must have the following directive in srm.conf: AddType text/x-server-parsed-html .shtmlor AddType text/html .html In the access configuration file (access.conf) that dictate what type of SSI directives you can place in your HTML document you must have: Options Includes ExecCGI or Options IncludesNoExec
SYNTAX <!--#directive parameter="value"--> no space between <!-- and # directives: config include echo exec parameters: virtual, file cmd, cgi timefmt
Includes You can include a file using: <!--#include virtual="/includes/ssi.txt" --> <!--#include file="ssi.txt" --> "Include virtual" should be used when the path to the document is given relative to the document root. The "Include File" argument is used when the path to the document we want to include is given relative to the shtml file itself.
Example <html> <head><title>Include example!</title></HEAD> <body> <h3>News</h3> <!--#include file="news.txt" --> </body> </html> news.txt: <p>Liverpool threw the Premier League title race wide open once more with a resounding 3-1 win over Manchester United at Anfield.</p>
Example News Liverpool threw the Premier League title race wide open once more with a resounding 3-1 win over Manchester United at Anfield.
Echo The echo directive returns the value of special SSI variables as well as other environment variables The only parameter to this directive is var, whose value is the name of the variable you wish to echo.  Format:<!--#echo var="var name"-->
Example <html> <head><title>Echo example!</title></head> <body> <h3>Welcome to my server at <!--#echo var="SERVER_NAME"--></h3> Your ip is  <!--#echo var="REMOTE_ADDR"--> <br /> Date: <!--#echo var="DATE_LOCAL"--> <br /> Your are using  <!--#echo var="HTTP_USER_AGENT" --> </body> </html>
Example Welcome to my server at students.info.uaic.ro Your ip is 92.86.84.57Today is Sunday, 06-Mar-2011 19:25:27 EET Your are using Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15
ECHO EXAMPLES  <!--#echo var="DOCUMENT_NAME" --> <!--#echo var="DOCUMENT_URI" --> <!--#echo var="LAST_MODIFIED" --> <!--#echo var="REMOTE_USER" --> <!--#echo var="DATE_GMT" --> <!--#echo var="HTTP_ACCEPT_ENCODING" -->  <!--#echo var="HTTP_REFERER" --> http://www.ssi-developer.net/ssi/ssi-echo.shtml
Date <!--#echo var="DATE_LOCAL" --> Output: <html><body> Sunday, 06-Mar-2011 13:08:03 EET </body></html> <!--#configtimefmt="%A, %B %d, %Y" --> <!--#echo var="DATE_LOCAL" --> Ouput: Sunday, March06, 2011
Exec The exec command simply executes a program, script or a shell command on the server. It takes two formats "Exec CMD" which is used to run a command and "Exec CGI" which can be used to execute a script. <!--#exec cmd= "ls" --> <!--#exec cgi= "counter.pl.cgi" -->
DEMO
Config In addition to being able to config the time format, you can also config two other things: if you want to change the error message to something else, you can do so with the errmsg attribute to the config element:<!--#configerrmsg="[This is a message error]" -->  you can config the format in which file sizes are returned with the sizefmt attribute:<!--#configsizefmt="bytes"-->
CONFIG EXAMPLES <!--#configsizefmt="bytes" -->  <!--#configtimefmt="%y/%m/%d" --> <!--#configerrmsg="we have a problem."
Advanced SSI techniques Using the set directive to set variables for later use: <!--#set var="name" value="Ronaldo" -->  <!--#set var="modified" value="$LAST_MODIFIED" --> <!--#set var="cost" value="100" --> <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
Advanced SSI techniques Conditional<!--#if expr='"$DOCUMENT_URI" = "/ssi.shtml"' -->in ssi <!--#elifexpr='"$DOCUMENT_URI" = "/exec.shtml"' -->in exec <!--#else -->in neither<!--#endif -->
WHEN TO USE SSI? The decision of when to use SSI, and when to have your page entirely generated by some program, is usually a matter of how much of the page is static, and how much needs to be recalculated every time the page is served.
ADVANTAGES viewing the document source doesn't reveal their use they are easier and faster to develop (and to maintain) than cgi decrease the chance of introducing errors when changing information
DISAVANTAGES it can be quite costly for a server to continually parse documents before sending them to the client enabling SSI creates a security risk
bibliography http://httpd.apache.org/docs/current/howto/ssi.html http://oreilly.com/openbook/cgi/ch05_02.html http://www.ssi-developer.net/ssi/ http://www.wdvl.com/Authoring/SSI/Intro/index.html http://websitetips.com/ssi/
QA

More Related Content

Similar to Ssi

Your First ASP_Net project part 1
Your First ASP_Net project part 1Your First ASP_Net project part 1
Your First ASP_Net project part 1Biswadip Goswami
 
What I brought back from Austin
What I brought back from AustinWhat I brought back from Austin
What I brought back from AustinLisa Adkins
 
CIS 451: Introduction to ASP.NET
CIS 451: Introduction to ASP.NETCIS 451: Introduction to ASP.NET
CIS 451: Introduction to ASP.NETwebhostingguy
 
introduction to web technology
introduction to web technologyintroduction to web technology
introduction to web technologyvikram singh
 
How do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML TricksHow do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML TricksCompare Infobase Limited
 
Flex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 FinalFlex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 Finalematrix
 
Introduction to Web Programming with Perl
Introduction to Web Programming with PerlIntroduction to Web Programming with Perl
Introduction to Web Programming with PerlDave Cross
 
Create a web-app with Cgi Appplication
Create a web-app with Cgi AppplicationCreate a web-app with Cgi Appplication
Create a web-app with Cgi Appplicationolegmmiller
 
JSP diana y yo
JSP diana y yoJSP diana y yo
JSP diana y yomichael
 
Krazykoder struts2 ui_tags
Krazykoder struts2 ui_tagsKrazykoder struts2 ui_tags
Krazykoder struts2 ui_tagsKrazy Koder
 

Similar to Ssi (20)

Controls
ControlsControls
Controls
 
Vb.Net Web Forms
Vb.Net  Web FormsVb.Net  Web Forms
Vb.Net Web Forms
 
Your First ASP_Net project part 1
Your First ASP_Net project part 1Your First ASP_Net project part 1
Your First ASP_Net project part 1
 
CGI Presentation
CGI PresentationCGI Presentation
CGI Presentation
 
What I brought back from Austin
What I brought back from AustinWhat I brought back from Austin
What I brought back from Austin
 
CIS 451: Introduction to ASP.NET
CIS 451: Introduction to ASP.NETCIS 451: Introduction to ASP.NET
CIS 451: Introduction to ASP.NET
 
HTML5 Fundamentals
HTML5 FundamentalsHTML5 Fundamentals
HTML5 Fundamentals
 
introduction to web technology
introduction to web technologyintroduction to web technology
introduction to web technology
 
HTML5
HTML5HTML5
HTML5
 
How do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML TricksHow do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML Tricks
 
Flex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 FinalFlex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 Final
 
Introduction to Web Programming with Perl
Introduction to Web Programming with PerlIntroduction to Web Programming with Perl
Introduction to Web Programming with Perl
 
ASP_NET Features
ASP_NET FeaturesASP_NET Features
ASP_NET Features
 
Before start
Before startBefore start
Before start
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Create a web-app with Cgi Appplication
Create a web-app with Cgi AppplicationCreate a web-app with Cgi Appplication
Create a web-app with Cgi Appplication
 
WCF - In a Week
WCF - In a WeekWCF - In a Week
WCF - In a Week
 
JSP diana y yo
JSP diana y yoJSP diana y yo
JSP diana y yo
 
Krazykoder struts2 ui_tags
Krazykoder struts2 ui_tagsKrazykoder struts2 ui_tags
Krazykoder struts2 ui_tags
 
CSS
CSSCSS
CSS
 

Recently uploaded

ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 

Recently uploaded (20)

ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 

Ssi

  • 1. Apache Server Side Includes Ionuț Ştirban
  • 2. What are server side includes? SSI (Server Side Includes) are directives that are placed in HTML pages, and evaluated on the server while the pages are being served. They let you add dynamically generated content to an existing HTML page, without having to serve the entire page via a CGI program, or other dynamic technology. Example:<!--#echo var="SERVER_NAME"-->
  • 3. How do Server Side Includes work? When the client requests a document from the SSI-enabled server, specified document is scanned by the server for the SSI code elements and carry's out the required actions based on the code element
  • 4. Configuration To permit SSI on your server, you must have the following directive in srm.conf: AddType text/x-server-parsed-html .shtmlor AddType text/html .html In the access configuration file (access.conf) that dictate what type of SSI directives you can place in your HTML document you must have: Options Includes ExecCGI or Options IncludesNoExec
  • 5. SYNTAX <!--#directive parameter="value"--> no space between <!-- and # directives: config include echo exec parameters: virtual, file cmd, cgi timefmt
  • 6. Includes You can include a file using: <!--#include virtual="/includes/ssi.txt" --> <!--#include file="ssi.txt" --> "Include virtual" should be used when the path to the document is given relative to the document root. The "Include File" argument is used when the path to the document we want to include is given relative to the shtml file itself.
  • 7. Example <html> <head><title>Include example!</title></HEAD> <body> <h3>News</h3> <!--#include file="news.txt" --> </body> </html> news.txt: <p>Liverpool threw the Premier League title race wide open once more with a resounding 3-1 win over Manchester United at Anfield.</p>
  • 8. Example News Liverpool threw the Premier League title race wide open once more with a resounding 3-1 win over Manchester United at Anfield.
  • 9. Echo The echo directive returns the value of special SSI variables as well as other environment variables The only parameter to this directive is var, whose value is the name of the variable you wish to echo. Format:<!--#echo var="var name"-->
  • 10. Example <html> <head><title>Echo example!</title></head> <body> <h3>Welcome to my server at <!--#echo var="SERVER_NAME"--></h3> Your ip is <!--#echo var="REMOTE_ADDR"--> <br /> Date: <!--#echo var="DATE_LOCAL"--> <br /> Your are using <!--#echo var="HTTP_USER_AGENT" --> </body> </html>
  • 11. Example Welcome to my server at students.info.uaic.ro Your ip is 92.86.84.57Today is Sunday, 06-Mar-2011 19:25:27 EET Your are using Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15
  • 12. ECHO EXAMPLES <!--#echo var="DOCUMENT_NAME" --> <!--#echo var="DOCUMENT_URI" --> <!--#echo var="LAST_MODIFIED" --> <!--#echo var="REMOTE_USER" --> <!--#echo var="DATE_GMT" --> <!--#echo var="HTTP_ACCEPT_ENCODING" --> <!--#echo var="HTTP_REFERER" --> http://www.ssi-developer.net/ssi/ssi-echo.shtml
  • 13. Date <!--#echo var="DATE_LOCAL" --> Output: <html><body> Sunday, 06-Mar-2011 13:08:03 EET </body></html> <!--#configtimefmt="%A, %B %d, %Y" --> <!--#echo var="DATE_LOCAL" --> Ouput: Sunday, March06, 2011
  • 14. Exec The exec command simply executes a program, script or a shell command on the server. It takes two formats "Exec CMD" which is used to run a command and "Exec CGI" which can be used to execute a script. <!--#exec cmd= "ls" --> <!--#exec cgi= "counter.pl.cgi" -->
  • 15. DEMO
  • 16. Config In addition to being able to config the time format, you can also config two other things: if you want to change the error message to something else, you can do so with the errmsg attribute to the config element:<!--#configerrmsg="[This is a message error]" --> you can config the format in which file sizes are returned with the sizefmt attribute:<!--#configsizefmt="bytes"-->
  • 17. CONFIG EXAMPLES <!--#configsizefmt="bytes" --> <!--#configtimefmt="%y/%m/%d" --> <!--#configerrmsg="we have a problem."
  • 18. Advanced SSI techniques Using the set directive to set variables for later use: <!--#set var="name" value="Ronaldo" --> <!--#set var="modified" value="$LAST_MODIFIED" --> <!--#set var="cost" value="100" --> <!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
  • 19. Advanced SSI techniques Conditional<!--#if expr='"$DOCUMENT_URI" = "/ssi.shtml"' -->in ssi <!--#elifexpr='"$DOCUMENT_URI" = "/exec.shtml"' -->in exec <!--#else -->in neither<!--#endif -->
  • 20. WHEN TO USE SSI? The decision of when to use SSI, and when to have your page entirely generated by some program, is usually a matter of how much of the page is static, and how much needs to be recalculated every time the page is served.
  • 21. ADVANTAGES viewing the document source doesn't reveal their use they are easier and faster to develop (and to maintain) than cgi decrease the chance of introducing errors when changing information
  • 22. DISAVANTAGES it can be quite costly for a server to continually parse documents before sending them to the client enabling SSI creates a security risk
  • 23. bibliography http://httpd.apache.org/docs/current/howto/ssi.html http://oreilly.com/openbook/cgi/ch05_02.html http://www.ssi-developer.net/ssi/ http://www.wdvl.com/Authoring/SSI/Intro/index.html http://websitetips.com/ssi/
  • 24. QA