Rack Midleware

Định nghĩa rack và sao lại gọi là rack middleware

  • Rack là một module rất nhỏ nằm giữa webapplication trong ruby và webserver.

  • Nhiệm vụ của rack là đóng gói các yêu cầu HTTP từ phía server và gửi cho ứng dụng web và nhận lại kết quả retrurn từ ứng dụng web trả lại cho webserver.

vì nó nằm trung gian giữa ứng dụng web và webserver nên ta gọi nó là rack middleware alt

  • bản chất thì Rack đơn giản là một hàm tên là call(), có một tham số đầu vào là environment và kết quả trả về là môt mảng [http_status_code, response_headers_hash, body]

vậy một ứng dụng web rails hoạt động ntn?

bản chất một ứng dụng wed được chạy dựa vào rack triệu gọi nó thông qua việc start webserver.

như chúng ta biết bản thân mỗi ứng dụng web rails đều có một file là config.ru.

file này sẽ được triệu gọi bởi webserver khi start ứng dụng web.

webserver sẽ dùng đoạn lệnh sau để triệu gọi ứng dụng web :

$ rackup config.ru

để hiểu rõ hơn về rack middleware các bạn có thể tham khảo link sau:

http://edgeguides.rubyonrails.org/rails_on_rack.html