Page 82 - Node.js开发指南
P. 82

74  第 4 章  Node.js 核心模块


                 5. http.ServerResponse
                 http.ServerResponse 是返回给客户端的信息,决定了用户最终能看到的结果。它
             也是由  http.Server  的  request 事件发送的,作为第二个参数传递,一般简称为
             response 或 res。
                 http.ServerResponse 有三个重要的成员函数,用于返回响应头、响应内容以及结束
             请求。
                   response.writeHead(statusCode, [headers]):向请求的客户端发送响应头。
                    statusCode 是 HTTP 状态码,如 200 (请求成功)、404 (未找到)等。headers
                    是一个类似关联数组的对象,表示响应头的每个属性。该函数在一个请求内最多只
                    能调用一次,如果不调用,则会自动生成一个响应头。
                   response.write(data, [encoding]):向请求的客户端发送响应内容。data 是
                    一个  Buffer 或字符串,表示要发送的内容。如果  data 是字符串,那么需要指定
                    encoding  来说明它的编码方式,默认是 utf-8。在 response.end  调用之前,
                    response.write 可以被多次调用。
                   response.end([data], [encoding]):结束响应,告知客户端所有发送已经完
                    成。当所有要返回的内容发送完毕的时候,该函数 必须 被调用一次。它接受两个可
                    选参数,意义和 response.write 相同。如果不调用该函数,客户端将永远处于
                    等待状态。

             4.5.2  HTTP 客户端

                 http 模块提供了两个函数 http.request 和 http.get,功能是作为客户端向 HTTP
             服务器发起请求。
                   http.request(options, callback) 发起 HTTP 请求。接受两个参数,option 是
                    一个类似关联数组的对象,表示请求的参数, callback 是请求的回调函数。option

                    常用的参数如下所示。
                      host :请求网站的域名或 IP 地址。
                      port :请求网站的端口,默认 80。
                      method :请求方法,默认是 GET。
                      path :请求的相对于根的路径,默认是“/”。QueryString 应该包含在其中。
                      例如 /search?query=byvoid。
                      headers :一个关联数组对象,为请求头的内容。

                    callback 传递一个参数,为 http.ClientResponse 的实例。
                    http.request 返回一个 http.ClientRequest 的实例。
   77   78   79   80   81   82   83   84   85   86   87