Share
VIDEOS 1 TO 50
Episode #324: Choosing Server Hardware
Episode #324: Choosing Server Hardware
Published: 2012/11/02
Channel: Eli the Computer Guy
Lenovo x3650 M4 Rack Mounting and IMM Reset & Access - 460
Lenovo x3650 M4 Rack Mounting and IMM Reset & Access - 460
Published: 2017/01/06
Channel: My PlayHouse
How to install the FREE VMware ESXi 6.5 on a Rack Server - 447
How to install the FREE VMware ESXi 6.5 on a Rack Server - 447
Published: 2016/12/09
Channel: My PlayHouse
Home Server Rack - Build Log: Part 1
Home Server Rack - Build Log: Part 1
Published: 2015/05/20
Channel: Fifty!
APC AP8958 Switched Rack PDU - Web Interface Schneider Electric Update
APC AP8958 Switched Rack PDU - Web Interface Schneider Electric Update
Published: 2017/03/26
Channel: jellepie69
Someone is currently logged into the APC management web server
Someone is currently logged into the APC management web server
Published: 2016/01/10
Channel: Yunar Winardi
Rack Cabinet Access via POE Web Interface
Rack Cabinet Access via POE Web Interface
Published: 2017/01/11
Channel: ssihuset
Setting Up a Home Web Server
Setting Up a Home Web Server
Published: 2014/07/14
Channel: Nerd on the Street - Tech
Home Server Rack Basic Explanation of Everything
Home Server Rack Basic Explanation of Everything
Published: 2013/09/10
Channel: Jacob Dykstra
Fixing the DISASTER - Server Room Vlog Pt. 1
Fixing the DISASTER - Server Room Vlog Pt. 1
Published: 2017/02/23
Channel: Linus Tech Tips
Google
Google's Web Servers, Revealed
Published: 2009/04/01
Channel: Data Center Knowledge
แนะนำการทำ Linux Web Server เบื้องต้น
แนะนำการทำ Linux Web Server เบื้องต้น
Published: 2016/03/21
Channel: Jame Sirichai
Web Server Basics
Web Server Basics
Published: 2014/01/21
Channel: Sean Otmishi
Server Rack - Windows Servers
Server Rack - Windows Servers
Published: 2009/07/16
Channel: James Maddeaux
Rack - Ruby Code Reading Group
Rack - Ruby Code Reading Group
Published: 2016/09/10
Channel: Engineers.SG
Play with the web server.
Play with the web server.
Published: 2011/09/17
Channel: TheComputoman
Rack mount Server Shelf -19" Adjustable Shelves
Rack mount Server Shelf -19" Adjustable Shelves
Published: 2014/08/26
Channel: Global 1 Server Racks
Simple Raspberry Pi Cluster Server Solution using Bitscope Blade Rack
Simple Raspberry Pi Cluster Server Solution using Bitscope Blade Rack
Published: 2017/05/02
Channel: TechWizTime
Evolution of rack (Gource Visualization)
Evolution of rack (Gource Visualization)
Published: 2015/07/18
Channel: Landon Wilkins
Rack Rail Mounting Kits Explained - for servers, arrays, KMM, routers mounted in 19" racks
Rack Rail Mounting Kits Explained - for servers, arrays, KMM, routers mounted in 19" racks
Published: 2016/06/24
Channel: DiscTech
Temperature and Humidity Monitoring in Server Room with sensorProbe2 Rack Monitoring System
Temperature and Humidity Monitoring in Server Room with sensorProbe2 Rack Monitoring System
Published: 2011/12/21
Channel: AKCessPro
Rack based web apps with JRuby and TorqueBox - Chris Spring
Rack based web apps with JRuby and TorqueBox - Chris Spring
Published: 2013/03/28
Channel: Rubyfuza
Alona Mekhovova - Using and scaling Rack and Rack-based middleware
Alona Mekhovova - Using and scaling Rack and Rack-based middleware
Published: 2012/10/23
Channel: Alex Mekhovov
Home Lab Server Rack Setup
Home Lab Server Rack Setup
Published: 2014/07/07
Channel: TheComputerTechie
9. Website basics. Socket based web server. Rack. Rack middleware. ( in Russian language )
9. Website basics. Socket based web server. Rack. Rack middleware. ( in Russian language )
Published: 2015/05/21
Channel: Rubyroid Labs
Mini ITX Fileserver/webserver 19" rackserver Asrock Q1900-ITX
Mini ITX Fileserver/webserver 19" rackserver Asrock Q1900-ITX
Published: 2015/12/21
Channel: Rudy Brinkman
Next To Your App: Ruby Web App Architecture - Noah Gibbs - Ruby Remote Conf 2015
Next To Your App: Ruby Web App Architecture - Noah Gibbs - Ruby Remote Conf 2015
Published: 2015/09/01
Channel: Devchat.tv
How To Turn A Computer Into A Web Server To Build Websites
How To Turn A Computer Into A Web Server To Build Websites
Published: 2011/11/06
Channel: Craig Chamberlin
Home Server Hosting - Should You Do It Or Not?
Home Server Hosting - Should You Do It Or Not?
Published: 2014/04/21
Channel: LDSreliance
Load balancing apache web server cluster in ubuntu large scale web hosting
Load balancing apache web server cluster in ubuntu large scale web hosting
Published: 2013/12/29
Channel: Jacob Dykstra
Building A Home File/Web Server: Part One Chooseing Parts
Building A Home File/Web Server: Part One Chooseing Parts
Published: 2011/02/03
Channel: QsoftStudios
Rails Conf 2013 From Rails to the Web Server to the Browser by David Padilla
Rails Conf 2013 From Rails to the Web Server to the Browser by David Padilla
Published: 2013/05/22
Channel: Confreaks
SoftLayer - Tutorial Number Three - Starting a Web Server
SoftLayer - Tutorial Number Three - Starting a Web Server
Published: 2014/08/19
Channel: Eamonn Killian
How To Set Up A Linux Web Server
How To Set Up A Linux Web Server
Published: 2013/10/16
Channel: Jay Rogers
30 Second Web Server for Home File Sharing Using Linux
30 Second Web Server for Home File Sharing Using Linux
Published: 2014/11/03
Channel: Frank's Helpdesk
Home Server Rack (Home Network Tour) with Commentary
Home Server Rack (Home Network Tour) with Commentary
Published: 2012/09/04
Channel: Tyler Gale
Dell PowerEdge R530 Gen13 Rack Server Review
Dell PowerEdge R530 Gen13 Rack Server Review
Published: 2015/10/08
Channel: IT Creations, Inc.
Choosing the Great rack servers
Choosing the Great rack servers
Published: 2015/09/02
Channel: Lourdes Downing
OMSA Web Browser Installer - Dell OpenManage Server Administrator
OMSA Web Browser Installer - Dell OpenManage Server Administrator
Published: 2013/10/31
Channel: DellTechCenter
Dell AR3104X717 Server Rack - APC 24U Netshelter Computer Cabinet
Dell AR3104X717 Server Rack - APC 24U Netshelter Computer Cabinet
Published: 2014/07/17
Channel: Global 1 Server Racks
Geek Beat Archives   Unboxing   Chatsworth Server Racks and Cable Management Systems
Geek Beat Archives Unboxing Chatsworth Server Racks and Cable Management Systems
Published: 2015/06/12
Channel: GeekBeat Archives
Raspberry Pi Web Server
Raspberry Pi Web Server
Published: 2016/09/10
Channel: CWNE88
TRUE NETWORKS Intel NUC Server Solution
TRUE NETWORKS Intel NUC Server Solution
Published: 2015/06/05
Channel: TRUE NETWORKS
Apa Itu Web Server ?
Apa Itu Web Server ?
Published: 2016/10/24
Channel: Naufal Ramadhan
The complete build of my budget home web server featuring AMD 5350 Kabini processor
The complete build of my budget home web server featuring AMD 5350 Kabini processor
Published: 2017/02/17
Channel: techmystyle
8 Best Rack Server Enclosures 2017
8 Best Rack Server Enclosures 2017
Published: 2017/11/10
Channel: Ezvid Wiki
Cheap alternative PC desk based on server or warehouse rack
Cheap alternative PC desk based on server or warehouse rack
Published: 2017/04/27
Channel: timon
Liquid Cooled Server Rack
Liquid Cooled Server Rack
Published: 2009/11/13
Channel: iceotopetv
Turn your computer into a webserver for building websites FREE!!
Turn your computer into a webserver for building websites FREE!!
Published: 2014/04/06
Channel: Lee Woodworking
How to Make Money Online : Making Money With a Web Server
How to Make Money Online : Making Money With a Web Server
Published: 2008/10/31
Channel: eHow
NEXT
GO TO RESULTS [51 .. 100]

WIKIPEDIA ARTICLE

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Rack, a Ruby Webserver Interface
Rack-logo.png
Original author(s) Christian Neukirchen
Developer(s) James Tucker, Josh Peek, José Valim, Michael Fellinger, Aaron Patterson, Santiago Pastorino, Konstantin Haase
Stable release
2.0.3 / May 15, 2017; 9 months ago (2017-05-15)
Repository Edit this at Wikidata
Operating system Cross-platform
Type Middleware
License MIT License
Website rack.github.io

Rack provides a modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses it unifies the API for web servers, web frameworks, and software in between (called middleware) into a single method call.

Rack is used by many Ruby web frameworks and libraries, such as Ruby On Rails and Sinatra. It is available as a Ruby Gem.

Rack has already inspired a JavaScript framework[1] (jackjs) and a Perl one (Plack), a Common Lisp one[2] (Clack), and has resulted in the Ruby developer quasi-standard of "rack-compliant".[3]

It was also cited as an inspiration for OWIN.[4]

Overview[edit]

The characteristics of a Rack application is that the application object responds to the call method. The call method takes in the environment object as argument and returns the Rack response object.

Environment[5][edit]

The environment that is taken as argument by the call method refers to an object that has:
a) Information on the HTTP Request

This includes the information like:

  • HTTP request method
  • The URL information(information that would direct to the application, information that directs to the actual location in the application, Query string)
  • Server information like the server name and server port
  • The HTTP metavariables that are received from the client

b) Rack specific information

This includes the information like

  • The version of the Rack application that is running
  • The URL scheme that is used, that is, if the request that is received is http or https.
  • The raw HTTP data.
  • A Ruby object for reporting errors.
  • Information like if the application object is simultaneously invoked from another thread or process.
  • Information on the server expectations and capabilities (capability of the server for connection hijacking).

In case the application is being used as a middleware, the environment can have objects that would provide session information, logging capabilities, information on the size of the data that can be used for read and writes etc. In addition to these, the server can store their own data in the environment.

Rack response[5][edit]

The rack server object returns a response which contains three parts: the status, headers and the body.

  • The status contains the HTTP status codes such as 200,404.
  • The header contains the response for each and gives the key-value pairs. The keys have to be strings.
  • Body contains the final data which is sent by the server to the requester.

Rack::Response provides a convenient interface to create a Rack response. The class Rack::Response is defined in lib/rack/response.rb. To use the Response class, instantiate it from the middleware layer down the stack. It can be used to modify the cookies.

Middleware in racks[5][edit]

Rack makes it easy to add a chain of middleware components between the application and the web server. Multiple middleware components can be used in the rack which modifies the request/response before handing it over to the next component. This is called middleware stack.

The Rack server adds multiple middle middleware by default for the functionalities like showing exception with all the details,[6] validating the request and responses according to the Rack spec[7] etc.

Example application[edit]

A Rack-compatible "Hello World" application in Ruby syntax:

# helloWorld.ru
# The application that has the call method defined.
class HelloWorld
   # Call method that would return the HTTP status code, the content type and the content.
   def call (env)
      [200, {"Content-Type" => "text/html; charset=utf-8"}, ["Hello World"]]
   end
end

The server for the above code can be initiated using "rackup helloWorld.ru" and can be accessed at http://localhost:9292/ The default port used by the Rack application is 9292.

See also[edit]

References[edit]

  1. ^ jack - introduction. Jackjs.org. Retrieved on 2013-09-20.
  2. ^ clacklisp.org. Retrieved on 2014-10-17.
  3. ^ Pancake: How To Stack and Loosely Couple Rack-Based Webapps Together. Rubyinside.com (2009-12-04). Retrieved on 2013-09-20.
  4. ^ http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana. Asp.net. Retrieved on 2014-10-01.
  5. ^ a b c "Documentation for rack". www.rubydoc.info. Retrieved 2016-09-14. 
  6. ^ "Rack::ShowExceptions". www.rubydoc.info. Retrieved 2016-09-14. 
  7. ^ "Rack::Lint". www.rubydoc.info. Retrieved 2016-09-14. 

External links[edit]


Disclaimer

None of the audio/visual content is hosted on this site. All media is embedded from other sites such as GoogleVideo, Wikipedia, YouTube etc. Therefore, this site has no control over the copyright issues of the streaming media.

All issues concerning copyright violations should be aimed at the sites hosting the material. This site does not host any of the streaming media and the owner has not uploaded any of the material to the video hosting servers. Anyone can find the same content on Google Video or YouTube by themselves.

The owner of this site cannot know which documentaries are in public domain, which has been uploaded to e.g. YouTube by the owner and which has been uploaded without permission. The copyright owner must contact the source if he wants his material off the Internet completely.

Powered by YouTube
Wikipedia content is licensed under the GFDL and (CC) license