HTTP::Lite is a stand-alone lightweight HTTP/1.1 implementation for perl. It
is not intended as a replacement for the fully-features LWP module. Instead,
it is intended for use in situations where it is desirable to install the
minimal number of modules to achieve HTTP support, or where LWP is not a good
candidate due to CPU overhead, such as slower processors. HTTP::Lite is also
significantly faster than LWP.
HTTP::Lite is ideal for CGI (or mod_perl) programs or for bundling for
redistribution with larger packages where only HTTP GET and POST functionality
are necessary.
If you require more functionality, such as FTP or HTTPS, please see libwwwperl
(LWP). LWP is a significantly better and more comprehensive package than
HTTP::Lite, and should be used instead of HTTP::Lite whenever possible.
HTTP::MHTTP - this library provides reasonably low level access to the
HTTP protocol, for perl. This does not replace LWP (what possibly could
:-) but is a cut for speed. It also supports all of HTTP 1.0, so you
have GET, POST, PUT, HEAD, and DELETE. Some support of HTTP 1.1 is
available - specifically Transfer-Encoding = chunked and the Keep-Alive
extensions.
Additionally - rudimentary SSL support compiled in. This effectively
enables negotiation of TLS, but does not validate the certificates.
A way faster http access library that uses C extension based on mhttp to
do the calls.
The LWP::Protocol::https module provide support for using https schemed URLs
with LWP. This module is a plug-in to the LWP protocol handling, so you don't
use it directly. Once the module is installed LWP is able to access sites using
HTTP over SSL/TLS.
If hostname verification is requested by LWP::UserAgent's ssl_opts, and neither
SSL_ca_file nor SSL_ca_path is set, then SSL_ca_file is implied to be the one
provided by Mozilla::CA. If the Mozilla::CA module isn't available SSL requests
will fail. Either install this module, set up an alternative SSL_ca_file or
disable hostname verification.
This module used to be bundled with the libwww-perl, but it was unbundled in
v6.02 in order to be able to declare its dependencies properly for the CPAN
tool-chain. Applications that need https support can just declare their
dependency on LWP::Protocol::https and will no longer need to know what
underlying modules to install.
This class works just like LWP::UserAgent (and is based on it, by being a
subclass of it), except that when you use it to get a web page but run into a
possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds
and retry a few times.
It also adds some methods for controlling exactly what errors are considered
retry-worthy and how many times to wait and for how many seconds, but normally
you needn't bother about these, as the default settings are relatively sane.
LWP::UserAgent::POE is a subclass of LWP::UserAgent and works well
in a POE environment. It is a drop-in replacement for LWP::UserAgent
in systems that are already using LWP::UserAgent synchronously and
want to play nicely with POE.
LWP::UserAgent::WithCache is a LWP::UserAgent extention. It handle
'If-Modified-Since' request header with local cache file. local cache files are
implemented by Cache::FileCache.
LWPx::ParanoidAgent is a class subclassing LWP::UserAgent, but
paranoid against attackers. It's to be used when you're fetching
a remote resource on behalf of a possibly malicious user.
This class can do whatever LWP::UserAgent can (callbacks, uploads
from files, etc), except proxy support is explicitly removed, because
in that case you should do your paranoia at your proxy.
Also, the schemes are limited to http and https, which are mapped to
LWPx::Protocol::http_paranoid and LWPx::Protocol::https_paranoid,
respectively, which are forked versions of the same ones without
the "_paranoid". Subclassing them didn't look possible, as they were
essentially just one huge function.
This class protects you from connecting to internal IP ranges
(unless you whitelist them), hostnames/IPs that you blacklist, remote
webserver tarpitting your process (the timeout parameter is changed to
be a global timeout over the entire process), and all combinations of
redirects and DNS tricks to otherwise tarpit and/or connect to internal
resources.
A fast, primitive HTTP request parser
LWPx::TimedHTTP performs an HTTP request exactly the same as LWP does normally
except for the fact that it times each stage of the request and then inserts the
results as header.
It's useful for debugging where abouts in a connection slow downs are occuring.
Mason is a powerful Perl-based templating system, designed to generate dynamic
content of all kinds.
Unlike many templating systems, Mason does not attempt to invent an alternate,
"easier" syntax for templates. It provides a set of syntax and features specific
to template creation, but underneath it is still clearly and proudly
recognizable as Perl.
Mason is most often used for generating web pages. It has a companion web
framework, Poet, designed to take maximum advantage of its routing and content
generation features. It can also be used as the templating layer for web
frameworks such as Catalyst and Dancer.