Key points to understand are:
What can you send to browsers
... or rather, what you intend to send to browsers, but knowing what else is there is useful (because in complex web applications, in particular, you need to choose the appropriate data formats).
eg.
- HTML
- CSS
- Javascript
- Images
- Json
- XML
- PDF files
When you dynamically generate data, you should also understand the tools available (for example, the Perl community has a strong preference for TT for HTML generation, but there are other options like Mason , and JSON :: Any tends to be my goto for JSON).
Transport mechanisms
- HTTP (including status codes to use and when, how to redirect, what methods (POST, GET, PUT, etc.) to use and when).
- HTTPS (HTTP with SSL encryption)
How to make the web server talk to your Perl
- PSGI / Plack if you want modern and efficient
- CGI for very simple
- mod_perl , if you need crazy power levels (I saw someone turn Apache HTTPD into an SMTP spam filter using it).
Security
How to protect against malicious input (which basically comes down to understanding how to receive data in one format (for example, submitted form data) and convert it to another (for example, HTML or SQL).
Web frames
You can redirect a lot of work to a framework that provides structured ways to organize web applications.
- Web :: Simple is simple
- Dancer seems to be holding the middle (although I have to admit that I have not yet had the opportunity to use it)
- Catalyst probably has the steepest learning curve, but comes with lots of power and plugins.
source share