生态Web 与网络

言枢:Web 应用框架

使用言枢 1.0 的路由、中间件、言据协商、会话、CSRF、静态文件和无端口测试构建服务。

言枢(yanxu-web)1.0.0 是言序 Web 应用框架。它组合言讯协议对象、言页安全节点、 言据数据交换和言访测试传输;所有状态都由显式应用对象持有,不依赖魔法全局变量。

安装

最低言序为 1.1.12:

yanbao add web --version '^1.0'
yanbao install

言包会固定言据 1.2、言页 1.0、言讯 1.0 和言访 1.0。开发服务器需要回环监听权限; 模板和静态文件另受应用文件权限约束。

创建应用

「包:web」 言枢;

 首页(上下文) 
 言枢.协商响应(上下文,{
        「服务」「言枢」
        「文章」:上下文.反向「文章详情」,{「id」「first」})
    });


 文章(上下文) 
 言枢.JSON响应({「id」:上下文.参数值「id」)});


 应用  言枢.创建应用
    言枢.配置()
        .设应用名「我的服务」
        .设最大请求正文字节1048576
        .设最大响应正文字节2097152
);

应用.「/」,首页);
应用.命名取「/posts/:id」「文章详情」,文章);

 响应  言枢.测试客户端(应用).「/posts/first」);

路径支持静态段、:名称和末尾*名称。命名路由与路由组生成反向 URL;重复方法/模式 会失败,不会覆盖旧处理器。中间件按注册顺序进入、逆序退出,404、405 与统一错误边界 可以分别替换。

JSON、言据与协商

 创建言据(上下文) 
 输入: 上下文.言据正文();
 言枢.言据值响应(输入);

言据正文只接受言据媒体类型并使用受限解析;言据值响应执行规范序列化。 协商响应解析Accept质量和特异度,在 JSON 与言据之间选择并写入Vary: accept

会话与 CSRF

会话存储是显式协议或三个回调的适配器,不隐式打开数据库:

 会话项  言枢.会话配置()
    .设Cookie名「__Host-yanxu-session」
    .设最大秒3600
    .设安全
    .设仅HTTP
    .设同站「Lax」);

应用.使用(言枢.会话中间件(会话项,存储));

CSRF 中间件对非安全方法检查Sec-Fetch-Site、Origin/Referer 和双提交令牌。它不能替代 登录、授权或 HTTPS。生产会话存储必须自行提供并发控制、过期清理、容量和可观测性。

静态文件与 OpenAPI

静态配置支持路径隔离、隐藏文件策略、媒体类型、弱 ETag、Last-Modified、条件请求和 单一字节范围;多范围不会伪装成完整 multipart 响应。

OpenAPI 只收录通过接口路由系列显式登记的操作。框架负责稳定操作标识、隔离快照、 预算和 HTTP 输出;提供器负责生成 OpenAPI 3.1,不反射普通处理器源码。

无端口测试

「包:web/言访测试」 言访测试;

 客户端  言访测试.客户端(应用);
 响应  客户端.发文「/profiles」
    .言据正文({「姓名」「子衿」})
    .发送()
    .确保成功();

适配器保留查询、首部、Cookie、字节正文、受控重定向、重复Set-Cookie和 HEAD 语义, 但不模拟 DNS、TLS、连接失败或真实网络超时。

安全与已知限制

言枢提供正文预算、安全首部、路径隔离、CSRF 和错误隐藏边界,应用仍必须实现认证、 授权、速率限制、审计和敏感数据脱敏。

内建服务器串行接受连接、每连接处理一个 HTTP/1.1 请求并关闭,不提供 TLS、HTTP/2/3、 长连接工作池、流式上传、生产代理信任或优雅重启。生产环境应使用成熟前置服务器。

仓库与完整 API:yanxulang/yanxu-web1.0.0 Release