Hej,
interesuje mnie, w jaki sposób aplikacja railsowa jest obsługiwana przez serwer. Mógłby ktoś podzielić się jakimiś fajnymi linkami?
Nie znam, nie kojarzę. Do wszystkiego większość osób raczej dochodzi empirycznie i intuicyjnie. Podstawa to znać protokół http, reszta jest już prosta. Co dokładnie chciałbyś wiedzieć?
Słowo-klucz: Rack. Myślę że chodzi Ci właśnie o tą warstwę pośrednią pomiędzy serwerem HTTP a kodem Twojej aplikacji.
Jezu, “empirycznie” i “intuicyjnie” zamiast odrobienia pracy domowej z teorii – to mi się kojarzy z pehapowcami. Tymi gorszymi
Aplikacja railsowa przez serwer w sensie np. Mongrela czy Passengera? Musiałbyś poczytać źródła ale dokumentacja Mongrela całkiem nieźle dostarcza:
https://github.com/fauna/mongrel
Sporo można wyczytać z artykułu Yehudy o wątkach:
Oczywiście zakładam iż zna się http, ma się pojęcie o procesach/linuksie, konfiguracji apache/nginx itp. Wtedy intuicyjnie i empirycznie nie oznacza wcale “źle”. Zresztą nad czym tu dywagować? Taki mongrel/thin/unicorn to po prostu proces z załadowaną aplikacją + nasłuchiwanie na żądania http na jakimś porcie. Passenger to takie “proxy” pomiędzy serwerem www a aplikacją. Sam dba o odpalanie workerów, restartowanie ich itp.
IMHO kluczowa sprawa to znać różnicę w sposobie odpalania takiego php (ładowanie plików za każdym żądaniem) a ruby/rails (ładowanie appki tylko przy starcie procesu - oczywiście wykluczam cgi ;-)).
To jest właśnie to o czym pisałem.
Poczytaj o np. parserze HTTP w Mongrelu.
To do mnie czy autora wątku?