Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Request-Response Cycle of Ruby on Rails App

This presentation describes the Request-Response cycle that a Ruby on Rails app goes through, narrowing in from a high level to a low level, and back.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Request-Response Cycle of Ruby on Rails App

  1. 1. Request-­‐Response Ruby  on  Rails   Nathalie  Steinmetz   http://github.com/natsteinmetz   http://linkedin.com/in/nathaliesteinmetz    
  2. 2. User  Browser   DNS  Server   (1)  DNS  Lookup  (http://codefellows.org)   (2)  IP  Address   Web  Server  (for  example  Apache)   (3)  HTTP  Request              [URI]  (http://codefellows.org)              [method]  (GET)                          [request  header]  (user  agent,  etc.)   Application  Server     (for  example  Phusion  Passenger)   (4)  Recognized  Ruby                application  request  –                  forward  to  app  server   H I G H   L E V E L  
  3. 3. Ruby  Version  Manager   Gemfile   Rails  Routes   (5)  Go  to  RVM   (6)  Check  Rails  version                  in  Gemfile   (7)  Check  routes  using  HTTP                request  URI  and  method   M I   D     L E V E L  
  4. 4. L O W     L E V E L   Controller   Model   View   (9)  Go  to  Model,                  get  data  from                database   (8)  Go  to  appropriate  controller  (index)   Controller   (10)  Return  to                      controller     (11)  Compile  response  body  (HTML)  
  5. 5. Application  Server     (for  example  Phusion  Passenger)   H I G H   L E V E L   Web  Server  (for  example  Apache)   User  Browser   (14)  Render  view   (12)  Send  HTTP  Response  to  app  server                    [Status  code]  (200)                    [Response  header]  (cookie,  etc.)                    [Response  body]  (HTML,  CSS,  Javascript)   (13)  Forward  HTTP  Response   Repeat  for  linked  files   (CSS,  images,  etc.)  

×