SlideShare a Scribd company logo
2011/07/15
<morrita@gmail.com>
:
On Web Browsers
←
On Web Browsers
+

         Firefox, Thunderbird,
Gecko
                   ...

             Chrome, Safari,
WebKit
               Mac Mail...


  ...              ...
On Web Browsers
Renderer
   on
Browser
API




                   API
                 Browser
      Platform
                   OS
•

•
    API
•
•
•
•
On Web Browsers
On Web Browsers
HTTP:
Hypertext Transfer Protocol
HTTP:
Hypertext Transfer Protocol

          Request(URL)

Browser                       Server

             Response(Data)



                 TCP
HTTP Request
GET /index.html HTTP/1.1     Request-Line
Host: localhost
Method URLkeep-alive
Connection:     Version
Cache-Control: max-age=0      Headers
User-Agent: Mozilla/5.0 (Macintosh; Intel
ari/535.1
Accept: text/html,application/xhtml+xml,a
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;
If-None-Match: "13185-2c-3e9564c23b600"
If-Modified-Since: Sat, 20 Nov 2004 20:16

                                   Demo
HTTP Methods


•GET:
•POST:
 •

•        : PUT, DELETE, HEAD, ...
HTTP Response
HTTP/1.1 200 OK              Status-Line
Date: Fri, 08 Jul 2011 14:45:08 GMT
Version   Status
Server: Apache/2.2.17 (Unix) mod_ssl/2.2.
Content-Location: index.html.en
                              Headers
Last-Modified: Sat, 20 Nov 2004 20:16:24
Content-Length: 44
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

<html><body><h1>It works!</h1></body></ht
....
                               Body

                                    Demo
HTTP Status Code


•200:
•301:   URL
•404:   URL
•500:
HTTP Status Code


•200:
•301:   URL
•404:   URL
•500:
HTTP


•       -

•
•
    (       )
On Web Browsers
=
Data               Model


<HTML>      DOM

                              Box

CSS {...}   CSSOM



 Image                      Pixelmap
:

Data         Model


*.c
                          Machine
       AST           IR
                           Code

*.h
HTML:
     Hypertext Markup Language

     <HTML>                DOM         Box


<             =”      ”>         </    >
<         >
     <            >               </         >
</            >
HTML


•       (   /   )

    •               (XML   )

•

                               Demo
DOM:
Document Object Model

<HTML>    DOM       Box




• HTML
• HTML
<html>
  <head>..</head>          head
  <body>
                    html              “Greet”
    <h1>Greet<h1>
    <div>                       h1
       <span>
         Hi!           body
       </span>                        span      “Hi!”
       How are you?             div
    </div>                            “How are you
    <span>                                 “
       ...
    </span>
                              span
</html>                                         Demo
CSS:
Cascading Style Sheet
 CSS {...}     CSSOM         Box



 /* rule */
 h1, h2 { /* selector */
   /* properties */
   font-family: monospace;
   font-size: 12pt;
 }
CSS
•
    •
    •   (

•
    •
•           (   )
CSS Object Model

     CSS {...}         CSSOM   Box



•                DOM

 •
•
CSS Box Model

     DOM

                Box

     CSSOM
Box Model:




             Demo
Box
•
    •   DOM

•
                  block

                                  block


                          block



    •
                                          inline

        CSS                       block



                                          inline



    •                             block


                                          inline


        Box

•             (       )
DOM                          Box Model
          head
html                          block
                 h1
                                          block
   body
                       span
                 div             block
                                                  inline
                                          block
             span

                                                  inline
                                          block
          CSSOM                                   inline
Box
• Block (display: block)
    <div>, <p>, <h1>...
• Inline (display: inline)
    Block


    <a>, <b>, <span>,...
•
Data               Model



<HTML>      DOM

                              Box


CSS {...}   CSSOM




 Image                      Pixelmap
On Web Browsers
/



• Box
•
Flow           Float        Absolute




Multi-column   Table/Grid   Flexbox
:
•
        block
                   block

           block



•
                           inline
                   block


                           inline




•
                   block

                           inline
:              (Flow)
•
    • ex.   600
•
•

                  =
• Box
•
•
On Web Browsers
:

OS/

•
•       (

•
•
• ...
On Web Browsers
1            4
                  3
              2
                       6    7
                  5

• Box                  8    9

  • DFS           10
                       11

•
On Web Browsers
On Web Browsers
• OS
•
       (   )
: OS


•
•
•
• ...
DOM


<a>   <input>   <textarea>




       Form
Click!




DOM   Box   Screen
• OS
•      DOM

•



             OS
Questions?



•
•
•
•
JavaScript

             API
JavaScript

         API
JavaScript
<html>
<head>
<script>
function hello() {
  var message = "Hello, " + document.title;
  window.alert(message);
}
</script>
</head>
<body onload=”hello();”>
...
JavaScript
 •   HTML
                /

 •
 •                      (like:Perl, Ruby, Python, etc)

 •
     •   Object, Function, Number, String, RegExp, Array,
         Math, Date
JavaScript

             API
API(Application Programming Interface)
                  JS

•

• DOM

• HTTP
                       /
                                         Demo
• GUI
        ,           ,   ,...

•
                ,

•           (            )
    AJAX

                               Demo
HTML5 (a part of)


• HTTP                    : WebSocket

•                              : Canvas

• 3D           : WebGL

•                   : File API, IndexedDB

• ...
HTML5 (a part of)




          JavaScript

                  API


    OS,
            ...
• JavaScript
•              API

•
•
•
•
•
•
•
•
On Web Browsers
Questions?
Photo credit
http://www.flickr.com/photos/birdfarm/519230710/
http://www.flickr.com/photos/saschaaa/152502539
http://www.flickr.com/photos/junnn/4095423137/
http://www.flickr.com/photos/ccnz/401169276/sizes/
http://www.flickr.com/photos/gilderic/4398769315
http://www.flickr.com/photos/wiccked/184616586/
http://www.flickr.com/photos/anneh632/4807040595/
http://www.flickr.com/photos/mrsenil/2073171323/
http://www.flickr.com/photos/afu007/2398217277/
http://www.flickr.com/photos/cityhunter12/

More Related Content

What's hot (20)

PDF
PHP7 is coming
julien pauli
 
PPTX
C++17 std::filesystem - Overview
Bartlomiej Filipek
 
ODP
The why and how of moving to PHP 5.4/5.5
Wim Godden
 
ODP
The why and how of moving to php 5.4
Wim Godden
 
PPT
Fundamentals of programming angeli
bergonio11339481
 
PDF
Groovy 2.0 webinar
Guillaume Laforge
 
ODP
Caching and tuning fun for high scalability @ FrOSCon 2011
Wim Godden
 
PDF
Quick tour of PHP from inside
julien pauli
 
ODP
The why and how of moving to PHP 5.5/5.6
Wim Godden
 
PDF
Php engine
julien pauli
 
PDF
Building Custom PHP Extensions
AzRy LLC, Caucasus School of Technology
 
ODP
PHP Tips for certification - OdW13
julien pauli
 
PDF
javascript teach
guest3732fa
 
PDF
Invokedynamic / JSR-292
ytoshima
 
PDF
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Paulo Silveira
 
PDF
Understanding PHP objects
julien pauli
 
PDF
Practical Groovy DSL
Guillaume Laforge
 
PPT
ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 2, Dependency I...
ZFConf Conference
 
KEY
groovy & grails - lecture 5
Alexandre Masselot
 
PPT
Symfony2 Service Container: Inject me, my friend
Kirill Chebunin
 
PHP7 is coming
julien pauli
 
C++17 std::filesystem - Overview
Bartlomiej Filipek
 
The why and how of moving to PHP 5.4/5.5
Wim Godden
 
The why and how of moving to php 5.4
Wim Godden
 
Fundamentals of programming angeli
bergonio11339481
 
Groovy 2.0 webinar
Guillaume Laforge
 
Caching and tuning fun for high scalability @ FrOSCon 2011
Wim Godden
 
Quick tour of PHP from inside
julien pauli
 
The why and how of moving to PHP 5.5/5.6
Wim Godden
 
Php engine
julien pauli
 
Building Custom PHP Extensions
AzRy LLC, Caucasus School of Technology
 
PHP Tips for certification - OdW13
julien pauli
 
javascript teach
guest3732fa
 
Invokedynamic / JSR-292
ytoshima
 
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Paulo Silveira
 
Understanding PHP objects
julien pauli
 
Practical Groovy DSL
Guillaume Laforge
 
ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 2, Dependency I...
ZFConf Conference
 
groovy & grails - lecture 5
Alexandre Masselot
 
Symfony2 Service Container: Inject me, my friend
Kirill Chebunin
 

Similar to On Web Browsers (20)

PDF
網頁程式設計
傳錡 蕭
 
PDF
Intro to HTML 5 / CSS 3
Tadpole Collective
 
PPTX
Html5 shubelal
Shub
 
PPTX
How to dominate a free theme WCTO 2014
James Strang
 
PDF
HTML5, just another presentation :)
François Massart
 
KEY
Html5
Satoshi Kikuchi
 
PPTX
HTML5 for ASP.NET Developers
Justin Lee
 
PDF
[PSU Web 2011] HTML5 Design
Christopher Schmitt
 
PPTX
How dojo works
Amit Tyagi
 
PDF
Intro JavaScript
koppenolski
 
PPTX
Html5 more than just html5 v final
Lohith Goudagere Nagaraj
 
PPTX
20131108 cs query by howard
LearningTech
 
PDF
Progressive Downloads and Rendering
Stoyan Stefanov
 
PPTX
Jquery fundamentals
Salvatore Fazio
 
PDF
Dive Into HTML5
Doris Chen
 
PPTX
Css 3
poollar
 
PPTX
Css 3
poollar
 
PPTX
PhDigital 2020: Web Development
Cindy Royal
 
PDF
Front-End Frameworks: a quick overview
Diacode
 
網頁程式設計
傳錡 蕭
 
Intro to HTML 5 / CSS 3
Tadpole Collective
 
Html5 shubelal
Shub
 
How to dominate a free theme WCTO 2014
James Strang
 
HTML5, just another presentation :)
François Massart
 
HTML5 for ASP.NET Developers
Justin Lee
 
[PSU Web 2011] HTML5 Design
Christopher Schmitt
 
How dojo works
Amit Tyagi
 
Intro JavaScript
koppenolski
 
Html5 more than just html5 v final
Lohith Goudagere Nagaraj
 
20131108 cs query by howard
LearningTech
 
Progressive Downloads and Rendering
Stoyan Stefanov
 
Jquery fundamentals
Salvatore Fazio
 
Dive Into HTML5
Doris Chen
 
Css 3
poollar
 
Css 3
poollar
 
PhDigital 2020: Web Development
Cindy Royal
 
Front-End Frameworks: a quick overview
Diacode
 
Ad

Recently uploaded (20)

PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Ad

On Web Browsers