nginx通过三叉查找树来定位处理函数,当我们把位置放到队列后,整个结果如下图:
在ngx_http_core_loc_conf中的location位置,这里使用红色表示的,比如 a, b ,c ,aa, bb, cc ,而在每个location中,又有inclusive和exact指向ngx_http_core_loc_conf ,表示该位置的子位置。
在 ngx_http_init_static_location_trees函数中,递归的处理上面这棵树的location ,对每个location.调用ngx_http_create_locations_list 建立树,上图的最后结果如下:
父节点的位置是他tree儿子的前缀。