goahead解析(一)---------route.txt

参考网址:https://www.embedthis.com/goahead/doc/users/

route.txt

1、auth=xxx

该语句指定了该请求需要用那种方式验证身份。

(1)auth=form

表单式身份验证。该方法是在web界面中由用户输入账号和密码,提交后进行验证。

例子:

route uri=/img/
route uri=/action/login methods=GET|POST handler=action redirect=200@/index.asp redirect=401@/img/login.asp
route uri=/action/logout methods=POST handler=action redirect=200@/img/login.asp
route uri=/ auth=form handler=continue redirect=401@/img/login.asp

解析:

第一行是指定未进行登陆验证之前可访问的目录,登陆界面相关的css和js文件都需要在该目录下。

第二行指明登录操作的重定向,验证成功返回状态为200时将界面重定向到index.asp,验证失败时,继续在login.asp界面。

第三行是退出登录的重定向。

第四行定义与所有其他 URI 匹配的route,并规定基于表单的身份验证。continue 处理程序对用户进行身份验证,如果用户成功通过身份验证,则继续处理,让其他处理程序为请求提供服务并生成响应。如果身份验证失败,用户将被重定向回登录页面。

(其中的 Continue 处理程序是不执行任何操作的伪处理程序。)

(2)auth=basic

基本身份验证。该方法是在浏览器中弹出验证界面。该方法并未对密码进行任何加密处理。

route uri=/index.asp auth=basic

如下图:

在这里插入图片描述

(3)auth=digest

摘要式身份验证。该方法是在基本身份验证的基础上,对密码进行MD5加密。界面和设置方式与基本身份验证基本相同。

2、handlers

名字描述
action用于将URL的请求与C函数绑定的处理程序
continue不进行任何操作的伪处理程序,常用于登陆验证。
cgi为 CGI 程序提供服务的处理程序
file用于提供网页、图像和静态资源的处理程序
jst为动态内容提供 Javascript 模板的处理程序
options用于提供 HTTP 选项和跟踪方法的处理程序
redirect处理route重定向的处理程序
upload处理文件上传的处理程序

常用语句

route uri=/action handler=action
route uri=/ methods=OPTIONS|TRACE handler=options
route uri=/	extensions=asp,css,js handler=jst

通过上述语句指定每种请求对应的handle。

goahead源码中有这样一个函数,用于根据route.txt中的handle选择如何处理http请求
在这里插入图片描述

3、methods

标准的http方法有 : DELETE, GET, OPTIONS, POST, PUT,HEAD and TRACE.

序号方法描述
1GET请求指定的页面信息,并返回实体主体。
2HEAD类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
3POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
4PUT从客户端向服务器传送的数据取代指定的文档的内容。
5DELETE请求服务器删除指定的页面。
6OPTIONS允许客户端查看服务器的性能。
7TRACE回显服务器收到的请求,主要用于测试或诊断。

常用的就是GET与POST。

4、uri

URI、URL、URN概念:

  • URI = Uniform Resource Identifier 统一资源标志符
  • URL = Uniform Resource Locator 统一资源定位符
  • URN = Uniform Resource Name 统一资源名称

简单来说,就是URI是抽象的定义,不管用什么方法表示,只要能定位一个资源,就叫URI。

可以使用两种方法定位:1,URL,用地址定位;2,URN 用名称定位。

所以URL是URI的子集。

(根据我浅显的理解,在goahead中,可以认为url是绝对路径,uri是相对路径。)

5、extensions

route uri=/ extensions=jst,asp handler=jst

extensions用于定义新扩展。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值