request请求对象
请求对象的常用属性
Req.oraiginalUrl:获取请求路由配置的原始url由base和url组成
Req.baseUrl:获取由路由配置的baseUrl,即第一级路由设置的path内容
Req.body:用于获取post,put等请求的参数,配置express.json和express.urlencode解析post请求的参数
Req.cookies:用于获取用户提供的cookies内容,配置cookies-parser解析cookie
Req.signedCookies:用于获取用户加密的cookies内容,配置cookies-parser解signeCookies,需要提前设置加密的字符串
Req.hostname:获取用户请求的域名
Req.method:获取用户请求方法,可以手动实现路由功能
Req.ip:获取用户请求的ip地址,可以用来设置白名单
Req.params:用于获取路由动态参数中的内容
Req.path:获取url请求的路径,注意不是host,port或qurey,仅仅是路径,可以手动实现路由功能
Req.protocol:获取客户端请求的协议,一般是http或https
Req.secure:判断用户是否是http请求,返回boolean
Req.qurey:获取url中的查询字符串,一般用于解析get请求的参数,配置querystring中间件可以将urlencode与json互转
Req.xhr:用来判断是否是Ajax请求(XMLHttpRequest),返回boolean
response响应对象
相应对象常用方法
Res.cookies():给客户设置cookies内容,如果是加密cookies则需要配置cookie-parser
Res.clearCookies():清除cookies内容
Res.end():结束请求响应循环
Res.json():给客户端发送json数据
Res.jsonp():给客户端发送jsonp数据,默认是名称callback
Res.redirect():重定向
Res.render():渲染指定模板给客户端
Res.send():发送数据给客户端,可以是字符串,json对象或是buffer
Res.status():设置响应header状态码,比如200,301,404,500等
Res.sendStatus():同样是设置响应header状态码,它等同于send+status两个方法的链式操作
Res.set():设置响应head信息,如content-type,content-length等
Res.type():设置content-type