参考网址: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.

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

常用的就是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用于定义新扩展。

goahead解析(一)---------route.txt相关推荐

  1. 多个html合成txt,Python - 将多个HTML页解析为单个TXT文件

    我试图从X个HTML文件解析特定内容到单个TXT文件.Python - 将多个HTML页解析为单个TXT文件 我已经dirtily编码如下: #!/usr/bin/python import sys, ...

  2. .net core 源码解析-mvc route的注册,激活,调用流程(三)

    .net core mvc route的注册,激活,调用流程 mvc的入口是route,当前请求的url匹配到合适的route之后,mvc根据route所指定的controller和action激活c ...

  3. Python解析pdf转为TXT格式

    #完成pdf到TXT转变了,无法完成TXT到Excel转变import xlwt # 写入文件 import xlrd # 打开excel文件 from xlutils.copy import cop ...

  4. 深入源码解析类Route

    微软官网对这个类的说明是:提供用于定义路由及获取路由相关信息的属性和方法.这个说明已经很简要的说明了这个类的作用,下面我们就从源码的角度来看看这个类的内部是如何工作的. 1 public class ...

  5. 上交所行情文件解析之mktdt00.txt

    一.前言 近期在研究上交所行情接口,由于接口比较复杂,种类也很多,所以从最基础的文件行情开始研究吧. 二.行情文件接口 之前研究期货行情,都是通过API来获取的,包括实时行情,产品信息等等,现在证券行 ...

  6. android lrc歌词解析,正则表达式练习: android 歌词解析lrc 转 txt 代码

    //主要用到了java io 的基本知识 和 正则表达式 package com.su; import java.io.BufferedReader; import java.io.File; imp ...

  7. 一个用JAVA解析TXT格式文本文档的程序举例

    实体类 package txt; public class AliDataRecord {private String FSTR_SCATSID;private String FSTR_DESC;pr ...

  8. goahead内嵌web——用户登录

    goahead设备内嵌web--环境搭建 基于前一章节环境搭建的基础上,goahead用户登录操作流程. 在web资源目录下创建一个用户登录的HTML文件,login.html文件代码内容如下 < ...

  9. Goahead嵌入式linux移植资料整理

    环境 官方文档:https://www.embedthis.com/goahead/doc/ 源码下载: goahead-4.1.0-src.tgz 系统平台:Ubuntu 12.04.4 gcc v ...

最新文章

  1. Effective C++ 的52个条款列表
  2. cvtColor函数
  3. visual c 语言参考手册pdf,Microsoft-Visual-C-6-0语言参考手册(三).pdf
  4. 浙江计算机二级报名步骤,浙江2016年9月计算机二级考生报名流程
  5. methods vue过滤器 和_数据动态过滤技巧在 Vue 项目中的实践
  6. java实现订单物品计算佣金,java三角形、NextDay、佣金问题代码
  7. 科软-信息安全实验3-Rootkit劫持系统调用
  8. freebsd 安装mysql_Freebsd中mysql安装及使用笔记
  9. 华为usg6000配置手册_三国志11手机版,问题解决手册 1.4.4版本
  10. 关于Shine-hale
  11. 大一计算机时间差怎么求,总结:如何使用Excel计算时差和日期差,只需阅读本文!...
  12. P1195 口袋的天空
  13. 娜璋荆棘(二)不忘曾经眼里的对方多美好,程序员的荆棘人生
  14. 封装获取非行内样式函数
  15. 用人人商城也能玩转心愿众筹了,创意无限,代码皆可实现
  16. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
  17. JavaSE学习笔记 详解Set集合中实现类:LinkedHashSet以及TreeSet
  18. 各类文件系统镜像制作
  19. 奖金575万!81岁拓扑数学家摘得数学界诺奖「阿贝尔奖」
  20. 隧道变形在线监测过程中应用的光纤应变传感器

热门文章

  1. 深度理解RNN的梯度消失和LSTM为什么能解决梯度消失
  2. 史上最简单的springcloud微服务入门实例,开箱即用,工资翻倍不是梦
  3. 如何配置自己的服务器接入微信服务器
  4. carplay_如何更改您的CarPlay壁纸
  5. URLRewrite实现url地址伪静态化
  6. jmeter--重新安装安装JDK
  7. 利用go-ethereum创建自己的以太坊账户
  8. 计算机类sci四大水刊,材料灌水的sci期刊_十大水榜sci杂志_四大垃圾sci杂志
  9. Qt Qss 渐变颜色设置
  10. java 微秒 时间_Java中时间的计算 年月日小时分钟秒毫秒微秒