SlideShare a Scribd company logo
1 of 31
Download to read offline
Intro	
  to	
  Web	
  Standards	
  

            Jussi	
  Pohjolainen	
  
Tampere	
  University	
  of	
  Applied	
  Sciences	
  
Web	
  Standards?	
  
•  Formal	
  standards	
  or	
  technical	
  specifica2ons	
  that	
  
   describe	
  the	
  World	
  Wide	
  Web	
  
•  Web	
  Standards	
  consist	
  of	
  the	
  following	
  
   –  RecommendaBons	
  of	
  the	
  World	
  Wide	
  Web	
  
      ConsorBum	
  (W3C)	
  
       •  (X)HTML,	
  CSS,	
  SVG,	
  DOM	
  ...	
  
   –  RFC	
  documents	
  published	
  by	
  Internet	
  Engineering	
  
      Task	
  Force	
  (IETF)	
  
       •  URI,	
  HTTP,	
  MIME	
  ...	
  
   –  And	
  also	
  standards	
  by	
  Ecma	
  InternaBonal	
  (JavaScript),	
  
      Unicode	
  (Charsets)	
  and	
  IANA	
  (Name	
  and	
  number	
  
      registries).	
  	
  
World	
  Wide	
  Web	
  ConsorBum	
  
•  The	
  World	
  Wide	
  Web	
  ConsorBum	
  (W3C)	
  is	
  the	
  
   main	
  internaBonal	
  standards	
  organizaBon	
  for	
  
   the	
  World	
  Wide	
  Web	
  
•  Compa2bility	
  among	
  industry	
  members	
  
•  W3C	
  makes	
  recommenda)ons	
  for	
  the	
  web	
  
•  Several	
  recommendaBons	
  	
  
   –  XHTML,	
  DOM,	
  CSS,	
  XML...	
  
•  URL:	
  hWp://www.w3.org/	
  
W3C	
  RecommendaBon:	
  XHTML	
  
•  XHTML™	
  1.0	
  The	
  Extensible	
  HyperText	
  
   Markup	
  Language	
  (Second	
  EdiBon)	
  
       –  hWp://www.w3.org/TR/xhtml1/	
  
•  Markup	
  language	
  for	
  web	
  pages	
  
•  Can	
  be	
  used	
  to	
  create	
  structured	
  documents	
  
   by	
  using	
  structural	
  semanBcs	
  
       –  headings,	
  paragraph,	
  lists,	
  links	
  ...	
  
	
  
Example	
  of	
  XHTML	
  
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Hello</title>
    <meta http-equiv="content-type" content="application/xhtml
   +xml; charset=utf-8" />
</head>
<body>
    <h1>Hello World!</h1>
    <p>Here is a paragraph.</p>
</body>
</html>
XHTML,	
  HTML?	
  
SGML:	
  Standard	
  Generalized	
  Markup	
  Language	
  
Meta	
  language	
  	
  




                          XML	
  
           Meta	
  language	
  (subset	
  of	
  SGML)	
  




    OOXML	
                MathML	
                  XHTML	
         HTML	
  
    (.docx)	
              (.mml)	
                  (.xhtml)	
     (.html)	
  
(X)HTML	
  versions	
  
•  1996:	
  HTML	
  2.0	
                     •  200X:	
  (X)HTML	
  5	
  
•  1997:	
  HTML	
  3.2	
                         –  2D	
  drawing,	
  Offline	
  
    –  W3C	
  RecommendaBon	
                        storage,	
  drag	
  and	
  drop..	
  

•  1997:	
  HTML	
  4.0	
  
    –  CSS	
  
•  2000:	
  XHTML	
  1.0	
  	
  
    –  SeparaBon	
  of	
  layout	
  and	
  
       the	
  document	
  
W3C	
  RecommendaBon:	
  XML	
  
•  eXtensible	
  Markup	
  Language,	
  is	
  a	
  specificaBon	
  
   for	
  creaBng	
  custom	
  markup	
  languages	
  
•  W3C	
  RecommendaBon	
  
•  Primary	
  purpose	
  is	
  to	
  help	
  computers	
  to	
  share	
  
   data	
  
•  XML	
  is	
  meta-­‐language.	
  This	
  means	
  that	
  you	
  
   use	
  it	
  for	
  creaBng	
  languages.	
  
•  XML	
  is	
  an	
  extensive	
  concept.	
  
XML-­‐language:	
  XHTML	
  
<?xml version="1.0"?>!
<!DOCTYPE html !
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"!
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">!
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
   lang="en">!
  <head>!
    <title>Minimal XHTML 1.0 Document</title>!
  </head>!
  <body>!
    <p>This is a minimal <a href="http://www.w3.org/TR/
   xhtml1/">XHTML 1.0</a> !
    document.</p>!
  </body>!
</html>!
XML-­‐language:	
  SVG	
  
<?xml version="1.0"?>!
<!DOCTYPE svg !
     PUBLIC "-//W3C//DTD SVG 1.1//EN" !
     "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">!
<svg width="100%" height="100%" version="1.1"!
xmlns="http://www.w3.org/2000/svg">!
!
<circle cx="100" cy="50" r="40" stroke="black"!
stroke-width="2" fill="red"/>!
!
</svg>!
XML-­‐language:	
  MathML	
  
<?xml version="1.0"?>!
<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C
   MathML 1.01//EN" "math.dtd">!
<math:math xmlns:math="http://www.w3.org/1998/Math/MathML">!
 <math:semantics>!
  <math:mrow>!
   <math:mi>x</math:mi>!
   <math:mo math:stretchy="false">=</math:mo>!
   <math:mfrac>!
    <math:mrow>!
        ...!
    </math:mrow>!
  <math:annotation math:encoding="StarMath 5.0">x = {-b +-sqrt{b^
   {2}-4{ac}}   } over {2 {a}} </math:annotation>!
 </math:semantics>!
</math:math>!
XML-­‐language:	
  You	
  can	
  create	
  your	
  
                   own!	
  
<plist version='1.0'>!
<dict>!
<key>Student and Staff Restaurant</key>!
<array>!
  <string>Gratinated broccoli</string>!
  <string>Oven baked sausage</string>!
  <string>Beef in red wine sauce</string>!
  <string>Ham and pepperoni baguette</string>!
  <string>Baguette with beef roast</string>!
</array>!
<key>Cafeteria</key>!
<array>!
  <string>Tomato soup with chevre &amp;</string>!
  <string>Ham and pasta salad</string>!
</array>!
</dict>!
</plist>!
W3C	
  recommendaBon:	
  CSS	
  
•  Cascading	
  Style	
  Sheets	
  is	
  used	
  to	
  describe	
  
   presentaBon	
  of	
  a	
  document	
  wriWen	
  in	
  some	
  
   markup	
  language	
  
   –  Markup	
  language	
  can	
  be	
  (x)html	
  
•  Different	
  versions	
  
   –  CSS	
  1,	
  CSS	
  2,	
  CSS	
  3	
  
•  Different	
  browsers	
  support	
  different	
  things	
  in	
  
   CSS	
  
XHTML	
  with	
  CSS	
  
<?xml version="1.0"?>
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Minimal XHTML 1.0 Document</title>
     <link rel="stylesheet" href="mystyle.css">
  </head>
  <body>
    <p>This is a minimal <a href="http://www.w3.org/TR/xhtml1/">XHTML
   1.0</a>
    document.</p>
  </body>
</html>
CSS:	
  mystyle.css	
  
p {
      font-family:     Arial, serif;
      color:           RGB(255,0,0);
}
Result	
  in	
  Browser	
  
JavaScript,	
  LiveScript,	
  JScript,	
  
                  ECMAScript?	
  
•  ScripBng:	
  add	
  client-­‐side	
  behaviour	
  to	
  the	
  site	
  
•  JavaScript	
  
    –  Developed	
  by	
  Netscape	
  
    –  Originally	
  JavaScript,	
  then	
  LiveScript	
  and	
  then	
  back	
  to	
  
       JavaScript.	
  
•  JScript	
  
    –  Microsoj	
  made	
  their	
  own	
  version	
  of	
  the	
  JavaScript	
  
•  CompaBbility	
  problems	
  
•  =>	
  ECMAScript,	
  effort	
  to	
  standardize	
  different	
  
   versions	
  of	
  the	
  J(ava)Script	
  
ECMAScript	
  
•  ECMAScript	
  is	
  a	
  scripBng	
  language,	
  
   standardized	
  by	
  Ecma	
  InternaBonal	
  
•  In	
  Browsers,	
  ECMAScript	
  is	
  commonly	
  called	
  
   JavaScript	
  
•  Java/ECMAscript	
  is	
  nowdays	
  heavily	
  used	
  with	
  
   AJAX	
  –	
  based	
  sites	
  
•  SBll	
  many	
  problems	
  because	
  of	
  browser	
  
   incompaBbilites	
  
Client-­‐Server	
  Architecture	
  
HTTP?	
  
•  HTTP	
  (Hypertext	
  transfer	
  protocol)	
  is	
  a	
  
   stateless	
  protocol,	
  which	
  is	
  meant	
  to	
  
   transfer	
  informaBon	
  on	
  intranets	
  and	
  World	
  
   Wide	
  Web.	
  
   –  RFC2616:	
  
   –  hWp://www.w3.org/Protocols/rfc2616/rfc2616.html	
  
•  HTTP	
  is	
  a	
  request	
  /	
  response	
  standard	
  
   between	
  client	
  and	
  server	
  
Clients	
  and	
  Servers	
  
•  Client	
  
   –  Client	
  makes	
  a	
  hWp	
  request.	
  
   –  Client	
  can	
  be	
  a	
  web	
  browser,	
  spider	
  or	
  other	
  end-­‐user	
  
      tool	
  
   –  Client	
  is	
  referred	
  as	
  a	
  user	
  agent	
  
•  Server	
  
   –  Stores	
  informaBon	
  and	
  makes	
  them	
  available	
  to	
  the	
  
      client	
  
   –  Gives	
  hWp	
  response	
  to	
  the	
  client	
  
Resources	
  
•  Server	
  provides	
  resources	
  to	
  clients	
  
•  Resources	
  can	
  be	
  accessed	
  by	
  HTTP	
  using	
  
   URLs	
  (	
  Uniform	
  Resource	
  Locator	
  )	
  
•  Example	
  
   –  hWp://www.tamk.fi/~jack/document.doc	
  
Request	
  and	
  Response	
  

Client	
                                        Client	
  
User-­‐agent:	
  Firefox	
                      Apache	
  HTTP	
  Server	
  

                                  request	
  

                                 response	
  
Request	
  GET	
  
•  HTTP	
  defines	
  eight	
  methods	
  that	
  define	
  a	
  acBon	
  
   which	
  will	
  be	
  made	
  to	
  a	
  resource	
  
•  Most	
  typical	
  method	
  is	
  GET	
  
•  By	
  using	
  the	
  GET	
  -­‐	
  method,	
  client	
  gets	
  a	
  
   representaBon	
  of	
  the	
  resource.	
  
•  Example	
  of	
  gepng	
  a	
  file	
  
    –  URL:	
  hWp://www.something.com/file.doc	
  
    –  1)	
  Open	
  connecBon	
  to	
  the	
  server	
  
    –  2)	
  Send	
  following	
  through	
  the	
  connecBon:	
  
         •  GET	
  /path/to/file.doc	
  HTTP/1.0	
  
    –  3)	
  Read	
  the	
  response	
  
More	
  on	
  Request	
  GET	
  
•  Typically	
  HTTP	
  client	
  is	
  a	
  browser	
  that	
  
   creates	
  the	
  request	
  automaBcally	
  when	
  user	
  
   opens	
  a	
  url	
  
•  Browser	
  creates	
  the	
  request	
  which	
  contains	
  
   addiBon	
  to	
  the	
  GET	
  lot	
  of	
  other	
  informaBon..	
  
•  For	
  example,	
  informa)on	
  about	
  user	
  agent!	
  
Request	
  and	
  Response	
  

Client	
                       example	
  request	
            Client	
  
User-­‐agent:	
  Firefox	
     GET / HTTP/1.1!                 Apache	
  HTTP	
  Server	
  
                               Host: www.tamk.fi!
                               User-Agent: Mozilla/5.0 (Mac..)!
                               ...!
                               !


                                                response	
  
Response	
  
•  When	
  making	
  a	
  GET	
  request	
  to	
  a	
  certain	
  URL,	
  
   client	
  gets	
  a	
  response	
  
•  Response	
  consists	
  of	
  
    –  1)	
  Header	
  informaBon	
  
    –  2)	
  Resource	
  itself	
  
•  Browser	
  makes	
  decisions	
  based	
  on	
  the	
  header	
  
   informaBon..	
  
Example	
  of	
  Response	
  

               HTTP/1.1 200 OK!
               Date: Fri, 12 Jan 2007 07:51:41 GMT!
               Server: Apache/1.3.37 (Unix)!
               Last-Modified: Wed, 10 Jan 2007 12:43:34 GMT!
Header	
       ETag: "479a0-16a9-45a4df76"!
               Accept-Ranges: bytes!
               Content-Length: 5801!
               Connection: close!
               Content-Type: text/html; charset=iso-8859-1!
               !
               <html>!
Resource	
     <head>!
               <title>...!
               !
Request	
  and	
  Response	
  
Client	
                        example	
  request	
          Client	
  
User-­‐agent:	
  Firefox	
      GET / HTTP/1.1!               Apache	
  HTTP	
  Server	
  
                                Host: www.tamk.fi!
                                User-Agent: Mozilla/5.0 (Mac..)!
                                ...!




                               example	
  response	
  
                               HTTP/1.1 200 OKDate: Fri, 12 Jan
                               2007 07:51:41 GMTServer: Apache/
                               1.3.37 (Unix)...!
                               ...!
                               <html><head><title>...!
                               !
Firefox	
  and	
  HTTP	
  headers	
  
Client	
  vs.	
  Server	
  
•  In	
  client-­‐side	
  techniques,	
  browser	
  or	
  it's	
  
   plugins	
  executes	
  dynamic	
  behaviour	
  
    –  Flash,	
  JavaScript,	
  Applets...	
  
•  In	
  server-­‐side	
  techniques,	
  server	
  is	
  responsible	
  
   for	
  the	
  dynamic	
  behaviour	
  
    –  PHP,	
  Java	
  EE..	
  
    –  Persistant	
  Storage	
  is	
  implemented	
  by	
  using	
  
       databases,	
  for	
  example:	
  MySQL	
  	
  

More Related Content

What's hot (19)

Linux, Apache, Mysql, PHP
Linux, Apache, Mysql, PHPLinux, Apache, Mysql, PHP
Linux, Apache, Mysql, PHP
 
HTTP
HTTPHTTP
HTTP
 
Introduction to XML, XHTML and CSS
Introduction to XML, XHTML and CSSIntroduction to XML, XHTML and CSS
Introduction to XML, XHTML and CSS
 
Web Application Development using PHP Chapter 1
Web Application Development using PHP Chapter 1Web Application Development using PHP Chapter 1
Web Application Development using PHP Chapter 1
 
Introduction to web designing
Introduction to web designingIntroduction to web designing
Introduction to web designing
 
Web technology Unit-II Part A
Web technology Unit-II Part AWeb technology Unit-II Part A
Web technology Unit-II Part A
 
www | HTTP | HTML - Tutorial
www | HTTP | HTML - Tutorialwww | HTTP | HTML - Tutorial
www | HTTP | HTML - Tutorial
 
Wt unit 1 ppts web development process
Wt unit 1 ppts web development processWt unit 1 ppts web development process
Wt unit 1 ppts web development process
 
Browser
BrowserBrowser
Browser
 
Wordpress: A Tool for online Earning
Wordpress: A Tool for online EarningWordpress: A Tool for online Earning
Wordpress: A Tool for online Earning
 
Busy Architects Guide to Modern Web Architecture in 2014
Busy Architects Guide to  Modern Web Architecture in 2014Busy Architects Guide to  Modern Web Architecture in 2014
Busy Architects Guide to Modern Web Architecture in 2014
 
Web I - 02 - XHTML Introduction
Web I - 02 - XHTML IntroductionWeb I - 02 - XHTML Introduction
Web I - 02 - XHTML Introduction
 
WordPress Complete Manual in XAMPP
WordPress Complete Manual in XAMPPWordPress Complete Manual in XAMPP
WordPress Complete Manual in XAMPP
 
Zen codingcheatsheet
Zen codingcheatsheetZen codingcheatsheet
Zen codingcheatsheet
 
Html
HtmlHtml
Html
 
Basics of the Web Platform
Basics of the Web PlatformBasics of the Web Platform
Basics of the Web Platform
 
Static dynamic and active web pages
Static dynamic and active web pagesStatic dynamic and active web pages
Static dynamic and active web pages
 
Local storage
Local storageLocal storage
Local storage
 
Presentation_1367055087514
Presentation_1367055087514Presentation_1367055087514
Presentation_1367055087514
 

Viewers also liked

Viewers also liked (7)

libGDX: User Input and Frame by Frame Animation
libGDX: User Input and Frame by Frame AnimationlibGDX: User Input and Frame by Frame Animation
libGDX: User Input and Frame by Frame Animation
 
libGDX: Tiled Maps
libGDX: Tiled MapslibGDX: Tiled Maps
libGDX: Tiled Maps
 
Implementing a Simple Game using libGDX
Implementing a Simple Game using libGDXImplementing a Simple Game using libGDX
Implementing a Simple Game using libGDX
 
Box2D and libGDX
Box2D and libGDXBox2D and libGDX
Box2D and libGDX
 
libGDX: Screens, Fonts and Preferences
libGDX: Screens, Fonts and PreferenceslibGDX: Screens, Fonts and Preferences
libGDX: Screens, Fonts and Preferences
 
Moved to Speakerdeck
Moved to SpeakerdeckMoved to Speakerdeck
Moved to Speakerdeck
 
Java Web Services
Java Web ServicesJava Web Services
Java Web Services
 

Similar to Introduction to Web Standards

WEB TECHNOLOGY:Web Essentials and Markup Language HTML
WEB TECHNOLOGY:Web Essentials and Markup Language HTMLWEB TECHNOLOGY:Web Essentials and Markup Language HTML
WEB TECHNOLOGY:Web Essentials and Markup Language HTMLsmitawagh14
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Joseph Lewis
 
Presentation on php and Javascript
Presentation on php and JavascriptPresentation on php and Javascript
Presentation on php and JavascriptPradip Shrestha
 
Les Basiques - Web Développement HTML5, CSS3, JS et PHP
Les Basiques - Web  Développement HTML5, CSS3, JS et PHPLes Basiques - Web  Développement HTML5, CSS3, JS et PHP
Les Basiques - Web Développement HTML5, CSS3, JS et PHPHamdi Hmidi
 
Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in WebJussi Pohjolainen
 
Website/Web Applications / Static vs Dynamic Website / Web Browser /
Website/Web Applications  / Static vs Dynamic Website / Web Browser / Website/Web Applications  / Static vs Dynamic Website / Web Browser /
Website/Web Applications / Static vs Dynamic Website / Web Browser / Sachin Yadav
 
Arcomem training Specifying Crawls Advanced
Arcomem training Specifying Crawls AdvancedArcomem training Specifying Crawls Advanced
Arcomem training Specifying Crawls Advancedarcomem
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecuritySanjeev Verma, PhD
 
Training report on web developing
Training report on web developingTraining report on web developing
Training report on web developingJawhar Ali
 
Front end for back end developers
Front end for back end developersFront end for back end developers
Front end for back end developersWojciech Bednarski
 
ARTDM 171, Week 2: A Brief History + Web Basics
ARTDM 171, Week 2: A Brief History + Web BasicsARTDM 171, Week 2: A Brief History + Web Basics
ARTDM 171, Week 2: A Brief History + Web BasicsGilbert Guerrero
 
Html5 shubelal
Html5 shubelalHtml5 shubelal
Html5 shubelalShub
 

Similar to Introduction to Web Standards (20)

Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Html and Xhtml
Html and XhtmlHtml and Xhtml
Html and Xhtml
 
WEB TECHNOLOGY:Web Essentials and Markup Language HTML
WEB TECHNOLOGY:Web Essentials and Markup Language HTMLWEB TECHNOLOGY:Web Essentials and Markup Language HTML
WEB TECHNOLOGY:Web Essentials and Markup Language HTML
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
 
Presentation on php and Javascript
Presentation on php and JavascriptPresentation on php and Javascript
Presentation on php and Javascript
 
Les Basiques - Web Développement HTML5, CSS3, JS et PHP
Les Basiques - Web  Développement HTML5, CSS3, JS et PHPLes Basiques - Web  Développement HTML5, CSS3, JS et PHP
Les Basiques - Web Développement HTML5, CSS3, JS et PHP
 
Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in Web
 
Unit 01 (1).pdf
Unit 01 (1).pdfUnit 01 (1).pdf
Unit 01 (1).pdf
 
Website/Web Applications / Static vs Dynamic Website / Web Browser /
Website/Web Applications  / Static vs Dynamic Website / Web Browser / Website/Web Applications  / Static vs Dynamic Website / Web Browser /
Website/Web Applications / Static vs Dynamic Website / Web Browser /
 
Intro to JavaScript
Intro to JavaScriptIntro to JavaScript
Intro to JavaScript
 
Arcomem training Specifying Crawls Advanced
Arcomem training Specifying Crawls AdvancedArcomem training Specifying Crawls Advanced
Arcomem training Specifying Crawls Advanced
 
Html 5
Html 5Html 5
Html 5
 
Internet
InternetInternet
Internet
 
IP UNIT 1.pptx
IP UNIT 1.pptxIP UNIT 1.pptx
IP UNIT 1.pptx
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser Security
 
Training report on web developing
Training report on web developingTraining report on web developing
Training report on web developing
 
Front end for back end developers
Front end for back end developersFront end for back end developers
Front end for back end developers
 
ARTDM 171, Week 2: A Brief History + Web Basics
ARTDM 171, Week 2: A Brief History + Web BasicsARTDM 171, Week 2: A Brief History + Web Basics
ARTDM 171, Week 2: A Brief History + Web Basics
 
Html5 shubelal
Html5 shubelalHtml5 shubelal
Html5 shubelal
 
web development process WT
web development process WTweb development process WT
web development process WT
 

More from Jussi Pohjolainen

More from Jussi Pohjolainen (20)

Intro to Building Android Games using libGDX
Intro to Building Android Games using libGDXIntro to Building Android Games using libGDX
Intro to Building Android Games using libGDX
 
Advanced JavaScript Development
Advanced JavaScript DevelopmentAdvanced JavaScript Development
Advanced JavaScript Development
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
libGDX: Scene2D
libGDX: Scene2DlibGDX: Scene2D
libGDX: Scene2D
 
libGDX: Simple Frame Animation
libGDX: Simple Frame AnimationlibGDX: Simple Frame Animation
libGDX: Simple Frame Animation
 
libGDX: Simple Frame Animation
libGDX: Simple Frame AnimationlibGDX: Simple Frame Animation
libGDX: Simple Frame Animation
 
libGDX: User Input
libGDX: User InputlibGDX: User Input
libGDX: User Input
 
Building Android games using LibGDX
Building Android games using LibGDXBuilding Android games using LibGDX
Building Android games using LibGDX
 
Android Threading
Android ThreadingAndroid Threading
Android Threading
 
Creating Asha Games: Game Pausing, Orientation, Sensors and Gestures
Creating Asha Games: Game Pausing, Orientation, Sensors and GesturesCreating Asha Games: Game Pausing, Orientation, Sensors and Gestures
Creating Asha Games: Game Pausing, Orientation, Sensors and Gestures
 
Creating Games for Asha - platform
Creating Games for Asha - platformCreating Games for Asha - platform
Creating Games for Asha - platform
 
Intro to Asha UI
Intro to Asha UIIntro to Asha UI
Intro to Asha UI
 
Intro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformIntro to Java ME and Asha Platform
Intro to Java ME and Asha Platform
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Quick Intro to JQuery and JQuery Mobile
Quick Intro to JQuery and JQuery MobileQuick Intro to JQuery and JQuery Mobile
Quick Intro to JQuery and JQuery Mobile
 
JavaScript Inheritance
JavaScript InheritanceJavaScript Inheritance
JavaScript Inheritance
 
JS OO and Closures
JS OO and ClosuresJS OO and Closures
JS OO and Closures
 
Short intro to ECMAScript
Short intro to ECMAScriptShort intro to ECMAScript
Short intro to ECMAScript
 
XAMPP
XAMPPXAMPP
XAMPP
 
Building Web Services
Building Web ServicesBuilding Web Services
Building Web Services
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Introduction to Web Standards

  • 1. Intro  to  Web  Standards   Jussi  Pohjolainen   Tampere  University  of  Applied  Sciences  
  • 2. Web  Standards?   •  Formal  standards  or  technical  specifica2ons  that   describe  the  World  Wide  Web   •  Web  Standards  consist  of  the  following   –  RecommendaBons  of  the  World  Wide  Web   ConsorBum  (W3C)   •  (X)HTML,  CSS,  SVG,  DOM  ...   –  RFC  documents  published  by  Internet  Engineering   Task  Force  (IETF)   •  URI,  HTTP,  MIME  ...   –  And  also  standards  by  Ecma  InternaBonal  (JavaScript),   Unicode  (Charsets)  and  IANA  (Name  and  number   registries).    
  • 3. World  Wide  Web  ConsorBum   •  The  World  Wide  Web  ConsorBum  (W3C)  is  the   main  internaBonal  standards  organizaBon  for   the  World  Wide  Web   •  Compa2bility  among  industry  members   •  W3C  makes  recommenda)ons  for  the  web   •  Several  recommendaBons     –  XHTML,  DOM,  CSS,  XML...   •  URL:  hWp://www.w3.org/  
  • 4. W3C  RecommendaBon:  XHTML   •  XHTML™  1.0  The  Extensible  HyperText   Markup  Language  (Second  EdiBon)   –  hWp://www.w3.org/TR/xhtml1/   •  Markup  language  for  web  pages   •  Can  be  used  to  create  structured  documents   by  using  structural  semanBcs   –  headings,  paragraph,  lists,  links  ...    
  • 5. Example  of  XHTML   <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello</title> <meta http-equiv="content-type" content="application/xhtml +xml; charset=utf-8" /> </head> <body> <h1>Hello World!</h1> <p>Here is a paragraph.</p> </body> </html>
  • 6. XHTML,  HTML?   SGML:  Standard  Generalized  Markup  Language   Meta  language     XML   Meta  language  (subset  of  SGML)   OOXML   MathML   XHTML   HTML   (.docx)   (.mml)   (.xhtml)   (.html)  
  • 7. (X)HTML  versions   •  1996:  HTML  2.0   •  200X:  (X)HTML  5   •  1997:  HTML  3.2   –  2D  drawing,  Offline   –  W3C  RecommendaBon   storage,  drag  and  drop..   •  1997:  HTML  4.0   –  CSS   •  2000:  XHTML  1.0     –  SeparaBon  of  layout  and   the  document  
  • 8. W3C  RecommendaBon:  XML   •  eXtensible  Markup  Language,  is  a  specificaBon   for  creaBng  custom  markup  languages   •  W3C  RecommendaBon   •  Primary  purpose  is  to  help  computers  to  share   data   •  XML  is  meta-­‐language.  This  means  that  you   use  it  for  creaBng  languages.   •  XML  is  an  extensive  concept.  
  • 9. XML-­‐language:  XHTML   <?xml version="1.0"?>! <!DOCTYPE html ! PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"! "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">! <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">! <head>! <title>Minimal XHTML 1.0 Document</title>! </head>! <body>! <p>This is a minimal <a href="http://www.w3.org/TR/ xhtml1/">XHTML 1.0</a> ! document.</p>! </body>! </html>!
  • 10. XML-­‐language:  SVG   <?xml version="1.0"?>! <!DOCTYPE svg ! PUBLIC "-//W3C//DTD SVG 1.1//EN" ! "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">! <svg width="100%" height="100%" version="1.1"! xmlns="http://www.w3.org/2000/svg">! ! <circle cx="100" cy="50" r="40" stroke="black"! stroke-width="2" fill="red"/>! ! </svg>!
  • 11. XML-­‐language:  MathML   <?xml version="1.0"?>! <!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd">! <math:math xmlns:math="http://www.w3.org/1998/Math/MathML">! <math:semantics>! <math:mrow>! <math:mi>x</math:mi>! <math:mo math:stretchy="false">=</math:mo>! <math:mfrac>! <math:mrow>! ...! </math:mrow>! <math:annotation math:encoding="StarMath 5.0">x = {-b +-sqrt{b^ {2}-4{ac}} } over {2 {a}} </math:annotation>! </math:semantics>! </math:math>!
  • 12. XML-­‐language:  You  can  create  your   own!   <plist version='1.0'>! <dict>! <key>Student and Staff Restaurant</key>! <array>! <string>Gratinated broccoli</string>! <string>Oven baked sausage</string>! <string>Beef in red wine sauce</string>! <string>Ham and pepperoni baguette</string>! <string>Baguette with beef roast</string>! </array>! <key>Cafeteria</key>! <array>! <string>Tomato soup with chevre &amp;</string>! <string>Ham and pasta salad</string>! </array>! </dict>! </plist>!
  • 13. W3C  recommendaBon:  CSS   •  Cascading  Style  Sheets  is  used  to  describe   presentaBon  of  a  document  wriWen  in  some   markup  language   –  Markup  language  can  be  (x)html   •  Different  versions   –  CSS  1,  CSS  2,  CSS  3   •  Different  browsers  support  different  things  in   CSS  
  • 14. XHTML  with  CSS   <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Minimal XHTML 1.0 Document</title> <link rel="stylesheet" href="mystyle.css"> </head> <body> <p>This is a minimal <a href="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> document.</p> </body> </html>
  • 15. CSS:  mystyle.css   p { font-family: Arial, serif; color: RGB(255,0,0); }
  • 17. JavaScript,  LiveScript,  JScript,   ECMAScript?   •  ScripBng:  add  client-­‐side  behaviour  to  the  site   •  JavaScript   –  Developed  by  Netscape   –  Originally  JavaScript,  then  LiveScript  and  then  back  to   JavaScript.   •  JScript   –  Microsoj  made  their  own  version  of  the  JavaScript   •  CompaBbility  problems   •  =>  ECMAScript,  effort  to  standardize  different   versions  of  the  J(ava)Script  
  • 18. ECMAScript   •  ECMAScript  is  a  scripBng  language,   standardized  by  Ecma  InternaBonal   •  In  Browsers,  ECMAScript  is  commonly  called   JavaScript   •  Java/ECMAscript  is  nowdays  heavily  used  with   AJAX  –  based  sites   •  SBll  many  problems  because  of  browser   incompaBbilites  
  • 20. HTTP?   •  HTTP  (Hypertext  transfer  protocol)  is  a   stateless  protocol,  which  is  meant  to   transfer  informaBon  on  intranets  and  World   Wide  Web.   –  RFC2616:   –  hWp://www.w3.org/Protocols/rfc2616/rfc2616.html   •  HTTP  is  a  request  /  response  standard   between  client  and  server  
  • 21. Clients  and  Servers   •  Client   –  Client  makes  a  hWp  request.   –  Client  can  be  a  web  browser,  spider  or  other  end-­‐user   tool   –  Client  is  referred  as  a  user  agent   •  Server   –  Stores  informaBon  and  makes  them  available  to  the   client   –  Gives  hWp  response  to  the  client  
  • 22. Resources   •  Server  provides  resources  to  clients   •  Resources  can  be  accessed  by  HTTP  using   URLs  (  Uniform  Resource  Locator  )   •  Example   –  hWp://www.tamk.fi/~jack/document.doc  
  • 23. Request  and  Response   Client   Client   User-­‐agent:  Firefox   Apache  HTTP  Server   request   response  
  • 24. Request  GET   •  HTTP  defines  eight  methods  that  define  a  acBon   which  will  be  made  to  a  resource   •  Most  typical  method  is  GET   •  By  using  the  GET  -­‐  method,  client  gets  a   representaBon  of  the  resource.   •  Example  of  gepng  a  file   –  URL:  hWp://www.something.com/file.doc   –  1)  Open  connecBon  to  the  server   –  2)  Send  following  through  the  connecBon:   •  GET  /path/to/file.doc  HTTP/1.0   –  3)  Read  the  response  
  • 25. More  on  Request  GET   •  Typically  HTTP  client  is  a  browser  that   creates  the  request  automaBcally  when  user   opens  a  url   •  Browser  creates  the  request  which  contains   addiBon  to  the  GET  lot  of  other  informaBon..   •  For  example,  informa)on  about  user  agent!  
  • 26. Request  and  Response   Client   example  request   Client   User-­‐agent:  Firefox   GET / HTTP/1.1! Apache  HTTP  Server   Host: www.tamk.fi! User-Agent: Mozilla/5.0 (Mac..)! ...! ! response  
  • 27. Response   •  When  making  a  GET  request  to  a  certain  URL,   client  gets  a  response   •  Response  consists  of   –  1)  Header  informaBon   –  2)  Resource  itself   •  Browser  makes  decisions  based  on  the  header   informaBon..  
  • 28. Example  of  Response   HTTP/1.1 200 OK! Date: Fri, 12 Jan 2007 07:51:41 GMT! Server: Apache/1.3.37 (Unix)! Last-Modified: Wed, 10 Jan 2007 12:43:34 GMT! Header   ETag: "479a0-16a9-45a4df76"! Accept-Ranges: bytes! Content-Length: 5801! Connection: close! Content-Type: text/html; charset=iso-8859-1! ! <html>! Resource   <head>! <title>...! !
  • 29. Request  and  Response   Client   example  request   Client   User-­‐agent:  Firefox   GET / HTTP/1.1! Apache  HTTP  Server   Host: www.tamk.fi! User-Agent: Mozilla/5.0 (Mac..)! ...! example  response   HTTP/1.1 200 OKDate: Fri, 12 Jan 2007 07:51:41 GMTServer: Apache/ 1.3.37 (Unix)...! ...! <html><head><title>...! !
  • 30. Firefox  and  HTTP  headers  
  • 31. Client  vs.  Server   •  In  client-­‐side  techniques,  browser  or  it's   plugins  executes  dynamic  behaviour   –  Flash,  JavaScript,  Applets...   •  In  server-­‐side  techniques,  server  is  responsible   for  the  dynamic  behaviour   –  PHP,  Java  EE..   –  Persistant  Storage  is  implemented  by  using   databases,  for  example:  MySQL