HTTP 结构
HTTP协议建立在请求和响应的概念上,对应在node中就是http.ServerReques 和http.ServerResponse这两个构造器构造出来的对象。
当用户浏览网页时,用户代理(浏览器) 会创建一个请求,该请求通过TCP发送给Web服务器,随后服务器做出响应。
那么, 请求和响应是省么样的呢?
GET /HTTP/1.1
响应内容如下:
HTTP/1.1 200 OK
connection: keep-alive
transfer-encoding: chunked
b
hello world
0
头信息: HTTP其目的是进行文档交换。它在请求和响应消息前使用头信息来描述不同消息内容
举个列子,web页面会分发许多不同类型的内容: 文本, HTML, XML, JSON, PNG, JPEG图片等等。
发送内容的类型就是 Content-Type标注的
chunked
var http = require('http');http.createServer(function (req, res){ res.writeHead(200, {'Content-Type': 'text/html'}); res.write('hello'); setTimeout(function(){ res.end('world'); }, 5000);}).listen(3000);
图片或者视频上传是用流的概念