Ключевые вещи для понимания:
Что вы можете отправить в браузеры
… или, скорее, то, что вы намереваетесь отправить в браузеры, но полезно знать, что еще есть, (поскольку, в частности, в сложных веб-приложениях вам нужно будет выбрать соответствующие форматы данных).
, например
- HTML
- CSS
- JavaScript
- Изображения
- JSON
- XML
- PDF-файлы
Когда вы генерируете данные динамически, вы также должны понимать доступные инструменты (например, сообщество Perl настоятельно рекомендует TT для генерации HTML, но есть и другие варианты, такие как Mason , тогда как JSON :: Any , как правило, является моим переходом к JSON).
Транспортные механизмы
- HTTP (включая, какие коды состояния использовать и когда, как выполнять перенаправления, какие методы (POST, GET, PUT и т. Д.) Использовать и когда).
- HTTPS (HTTP с шифрованием SSL)
Как заставить веб-сервер общаться с вашим Perl
- PSGI / Plack если вы хотите современный и эффективный
- CGI для очень простых
- mod_perl если вам нужны безумные уровни мощности (я видел, как кто-то превращал Apache HTTPD в фильтр спама SMTP, используя его).
Безопасность
Как защититься от злонамеренного ввода (что в основном сводится к знанию, как принимать данные в одном формате (например, данные отправленной формы) и преобразовывать их в другой (например, HTML или SQL).
Веб-фреймворки
Вы можете перенести большую часть работы на фреймворки, которые предоставляют структурированные способы организации веб-приложений.
- Web :: Simple просто
- Танцор , кажется, держит середину (хотя я должен признаться, что у меня еще не было возможности использовать его)
- Catalyst , вероятно, имеет самую крутую кривую обучения, но поставляется с большим количеством мощности и плагинов.