exercise: 11.11
exercise: 11.11: 将 doit() 中的内容拆分为 doit/read_request/write_file
exercise: 11.11: 拆分 serve_static 为 send_response_body/serve_static