对于不同的URL请求,服务器应该有不同的反应。我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码。我们需要的所有数据都会包含在request对象中,该对象作为onRequest()回调函数的第一个参数传递。为了解析这些数据,需要调用额外的模块,分别是url和querystring模块。
URL:This
module has utilities for URL resolution and parsing. Callrequire('url')to
use it.
Parsed URL objects have some or all of the following fields, depending on whether or not they exist in the URL string. Any parts that are not in the URL string will not be in the parsed object. Examples are shown for the
URL
href: The full URL that was originally parsed. Both
the protocol and host are lowercased.
Example:'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
protocol: The request protocol, lowercased.
Example:'http:'
host: The full lowercased host portion of
the URL, including port information. Example:'host.com:8080'
auth: The authentication information portion of a
URL.
Example:'user:pass'
hostname: Just the lowercased hostname portion of
the host.
Example:'host.com'
port: The port number portion of the host.
Example:'8080'
pathname: The path section of the URL, that
comes after the host and before the query, including the initial slash if present. Example:'/p/a/t/h'
search: The 'query string' portion of the URL, including
the leading question mark.
Example:'?query=string'