这是我在写,用express+ajax+swig来做一个简单的应用的时候,遇到的问题。还是不太理解http模块。
后来在网上看到云栖社区的一篇《Node.js之HTTP请求与响应》,这里做简单的总结。
客户端发送一个请求,服务端作出响应
可以把这个过程抽象成A和B两个地点之间的通讯,然后把人抽象成请求体或者响应体,人携带的东西称之为请求体中封装的数据。
更官方的说法:
1.客户端给服务器发起请求相当于向服务器写入了一个流
2.服务端读取客户端的流
3.服务端向客户端作出响应相当于向客户端写入一个流
4.客户端读取服务端的响应。
客户端这边可以使用http.get().http.request(),这是客户端,那么就是涉及客户端请求和客户端在服务器端响应数据到达时,这两个分别对应http.get和http.request方法中的req和res。
服务端主要是http.createServer(function(req,res){}),中的req和res分别对应服务端在客户端请求体数据到达时和服务端响应两个过程。
理解http模块的这些方法时,应该单看客户端或者服务端某一个。这样方法中涉及的req和res对象就比较好理解了。