iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
自我挑戰組

打破結界~ Ruby on Rails ~面試題!系列 第 4

Day-04 說明什麼是Rack?

官網的說明是:

Rack, a modular Ruby webserver interface

Rack 是一種介面,是 Ruby 可以和 WEB Server 進行溝通的橋梁。
可以說 Rack 是一種小型,模組化的 API 。


Rack 提供能夠回應 call 方法的物件,並且回傳一個包含以下三個元素的陣列:
1.HTTP 狀態(數字型態,例如正常回應是 200、找不到頁面是 404、伺服器錯誤是 500)。
2.HTTP Header(Hash 型態)。
3.Body(陣列型態,或是只要是個可以回應 each 方法的物件也可)。


其實呢,像 Sinatra(一種輕量框架)、Rails 和 Ruby,它們都是一種 Rack 的應用程式。


參考資料
https://railsbook.tw/extra/rack.html
https://github.com/rack/rack
https://ruby-china.github.io/rails-guides/v4.1/rails_on_rack.html#resources


上一篇
Day-03 說明在 Ruby 裡常數 (constant) 跟變數 (variable) 的差別是什麼?
下一篇
Day-05 Ruby 的世界裡,萬物都是物件?
系列文
打破結界~ Ruby on Rails ~面試題!30

尚未有邦友留言

立即登入留言