node初探之http

    node运行环境针对http的特点是:可以运用在客户端和服务器两端的搭建,而之前浏览器中的js主要用于创建向web服务器的ajax请求。

    http基于请求和响应,在nodejs中对应的为http.ServerRequest http.ServerResponse创建的对象。http协议的目的是用于文档交换。在http头信息中包含对请求和响应内容的附加描述,例如Content-Type就是对消息类型对描述,如果不加此描述信息,则默认将发送的内容解析为text/plain类型。

一、流的使用

    在node中Transfer-Encoding默认为chunked,发送数据块的方式对文件系统的读写来说非常高效。通过ReadStream可以实现对文件对高效读取,在当读取文件后写入到http中response时,相当于将文件系统stream对接到serverRespnse流,此时可以使用pipe方法来进行简洁对接操作。

二、Http 服务器与tcp服务器区别

    回调函数中对象的类型不同。net服务器中是一个connection对象,在http服务器中是请求和响应对象。

三、http对象属性

    在请求对象中有两个重要属性:url method。node会将http请求数据中的headers信息从字符串解析成一个headers对象,node提供了一个querystring模块,此模块可以将一个字符串解析成一个对象。

四、使用node搭建服务器和客户端

    http用于数据交换,可以用于搭建服务器和向其他web服务器发送信息。信息是以信息块的方式传输并收集的。end事件触发时就是信息全部收集成功的时刻。

    服务器搭建:利用node中的httpAPI可以快速搭建简单web服务器,利用的方法有createServer 利用回调函数中的req res参数来进行请求和响应的设置。利用req的url method进行条件判断,结合res的writeHead方法和write、end方法进行响应头和响应体的设置。利用data end事件对请求和响应获取到的数据进行处理。在服务器创建后需要listen方法进行监听某一端口。

    客户端搭建:利用http模块中的request静态方法来创建客户端。在第一个参数中写明请求的主机、端口号、method等;第二个参数是回调函数,用于对返回的对象进行处理,请求结束后,需要end方法来结束请求。


猜你喜欢

转载自blog.csdn.net/u012516440/article/details/80980614
今日推荐