13 702
правки
Изменения
м
→Заключение
'''Если стремиться к наиболее «красивому» и логичному интерфейсу, то:'''
Всё существующее фигня.) С моей точки зрения, по идеологии наиболее близка к идеалу идея LWP — LWP — на входе объект «запрос», на выходе объект «ответ». Но этот подход не очень популярен, поэтому, используя его, вы обрекаете себя на разработку и поддержку своей реализации — никто не говорит, что это плохо, но… не mainstream.
Данный подход был выбран личной мной в платформе [[Sway Solstice]]. Исходные коды можно увидеть [http://svn.yourcmc.ru/viewvc.py/vitaphoto/branch/solstice/lib-sway/HTTP/ здесь] — они включают в себя реализацию HTTP::Request::Incoming — подкласса HTTP::Request с некоторыми удобными функциями разбора запроса, и абстракции HTTP::Request для mod_perl 1 и 2, CGI и nginx.
Это, конечно же, '''CGI'''. Что и объясняет популярность FastCGI — эквивалентного наиболее простому интерфейсу, обёрнутому в «ускоритель». Если хочется — использовать HTTP::Server::Simple тоже можно — он хоть и простой, но очень удобный. Отдавать с помощью него же статику я, правда, не стал… :)
Также следует помнить о всё ещё об очень высокой популярности mod_perl. Ни универсальностью, ни надёжностью от него не пахнет, это нужно понимать, но всё-таки, во-первых, такой гибкости он обладает беспрецедентной гибкостью в обработке запросов невозможно добиться запросов — такой больше нет ни на одной платформе, а во-вторых, поддерживается он достаточно широко и поэтому вполне подходит для использования«рецептов» существует множество. Но всё равно нужно помнить, что «Perl и mod_perl — это разные языки».
[[Категория:Sway]]
[[Категория:Разработка]]
[[Категория:Perl]]