用 curl 发一条留言

场景:留言板在后台跑着;首页的表单是 POST /add,字段名 text。说明里给了一句话。 任务:不用浏览器,用 curl 以表单的方式把那句话发表上去(成功是 303)。发完之后运行 ~/check(它看 /api/notes 里有没

开始练习 →

样式表的类型头

场景:留言板在后台跑着,首页引用了 /static/style.css。对照表列了八个类型值。 任务:用 curl -i 访问 /static/style.css,看响应头里 Content-Type 的完整值(整行冒号后面的全部),到对照

开始练习 →

加一个页面

场景:~/应用 是一个留言板(handle 函数里一条 if 一条路由)。说明里给了一句话。 任务:给它加一个页面:GET /hello 交回 200、HTML、正文里要有那句话;POST /hello 要交回 405。改好之后把应用起在配

开始练习 →

交付:启动和停止脚本

场景:~/应用 是一个留言板。每次手敲 setsid 和 kill 太麻烦。 任务:写 ~/应用/启动.sh(在配置里的端口把应用起在后台,脚本自己立刻返回)和 ~/应用/停止.sh(把它停掉,端口上不再有人听)。写好之后运行 ~/chec

开始练习 →

起不来先看哪一行

Web 应用起不来或访问不到,三类最常见的故障是【0】。

开始练习 →

从报错里认故障类型

五条报错各属于哪一类:端口 / 路径 / 日志(运行时)。分一分、数一数: msgs = ["OSError: [Errno 98] Address already in use", "FileNotFound

开始练习 →

谁占着端口

场景:cd ~/应用 && python3 app.py 一起就报 Address already in use——配置里的端口被别的进程占着。对照表列了八个脚本名。 任务:找出占着这个端口的进程跑的是哪个脚本(ss -tl

开始练习 →

换个端口起

场景:配置里的端口被别的进程占着,而且那个进程不能动。说明里给了一个备用端口。 任务:让留言板改在备用端口上跑起来并留在后台(改配置或者传参数都行),然后运行 ~/check。 可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何

开始练习 →

换个目录起就坏

场景:在 ~/应用 目录里 python3 app.py 一切正常;换到别的目录 python3 ~/应用/app.py 就起不来(或者起来了页面 500、样式 404)。 任务:改 app.py,让它不管从哪个目录启动都能找到自己旁边的配

开始练习 →

日志里哪个路径报了 500

场景:用户反映留言板「有个页面打不开」。~/应用/日志.txt 是应用的访问日志,每个请求一行「方法 路径 状态码」,出错时还会记下回溯。对照表列了八个路径。 任务:找出日志里报了 500 的那个路径,到对照表里查它对应的标记。 可操作范围

开始练习 →