connect

作者: zhangwinwin | 来源:发表于2018-12-01 15:28 被阅读0次

    Connect是一个框架,它使用被称为中间件的模块化组件,以可重用的方式实现Web程序中的逻辑。在Connect中,中间件组件是一个函数,它拦截HTTP服务器提供的请求和响应对象,执行逻辑,然后或者结束响应,或者把它传递给下一个中间件组件。Connect用分派器把中间件“连接”在一起。

    HTTP请求穿过Connect服务器的生命周期

    1、dispathcer收到请求,把它传给(next())第一个中间件--》logger。
    2、logger记录请求日志,并用next()传给下一个中间件--》bodyparser
    3、请求体会被解析,并用next()传给下一个中间件--》static
    4、如果请求的是静态文件,用这个文件作为响应,不再调用next;否则请求进入下一个中间件
    5、请求被一个定制的中间件处理好,响应结束。

    connect工作机制

    在connect中,中间件组件是一个js函数,接受三个参数:请求对象,响应对象,next回调函数,表明这个中间件已经完成了它的工作,可以执行下一个中间件。

    挂载中间件和服务器

    Connect中有一个挂载的概念,可以给中间件或整个程序定义一个路径前缀。使用挂载,可以像在根层次下那样编写中间件(/根req.url),并且不修改代码就可以把它用在任一路径前缀上。
    比如说,如果一个中间件组件或服务器挂载到了/blog上,代码中的/article/1的req.uel通过客户端来访问就是/blog/article/1.这种分离意味着你可以在多个地方重用博客服务器,不用为不同的访问源修改代码。比如说,如果你决定改用/articles(/articles/article/1)提供文章服务,不再用/blog,只要修改挂载路径前缀就可以了。

    相关文章

      网友评论

          本文标题:connect

          本文链接:https://www.haomeiwen.com/subject/oepkcqtx.html