重构request，response