Http(HyperText Transfer Protocol):超文本传输协议 (文本、图片、视频、音频、css、js….)。
主动发请求,被动的响应。现在的交互:前后端的数据交互 。
请求消息、响应消息、请求方法、状态码
说白了就是以什么方式发起的诉求(请求)。比如说: 美团、微信小程序上等下单。
用来表明要对服务器上的资源执行的某操作,以何种方式进行请求。
常见请求方法比如:get获取/post提交数据/delete删除/put更新的
用来标识响应的状态。服务器的结果要用状态码来进行描述。比如:404页面不存在。200成功。500服务器错误
404是前端的问题。
200成功:正常的拿到结果了。
500:前端没事,你直接找后端就可以了。
描述:客户端发起的请求叫做 HTTP 请求,客户端发送到服务器的消息,叫做 HTTP 请求消息(又叫做 HTTP 请求报文。) 简单来说就是客户端告知服务器我要干什么。
组成:请求行、请求头部字段、请求体
请求体:除get方式的其它方式都有有请求体
描述:响应消息就是服务器响应给客户端的消息内容,也叫作响应报文。比如:海底捞服务员把后厨准备好的食材交付给用户
组成:状态行、响应头部、空行、响应体、
//1. 引入http模块。这个模块是内置模块
const http = require('http')
// console.log( typeof http ) //这是个对象
//2. 它身上有个 createServer() 函数 创建服务器的。
const server = http.createServer() //得到 个服务器对象
// console.log( typeof server )
//3. 兼听事件: 兼听用户发的请求事件
server.on( 'request',function(req,res){
/*
req:request简写。语法上只是一个形参而已,请求消息
res:response简写,响应消息
*/
console.log('一个用户发起了请求')
//此时这里没有响应。按照协议:一个请求必须对应一个响应啊。
res.end('hello node.js') //这就是响应。
} )
//4. 必须要有个端口啊。服务器是封闭的。
// 专业的说:叫开放端口(开启端口/兼听端口)
//server.listen( 端口号 ) 0-65535 : 推荐使用3000及使用
server.listen(3000)
//当端口开启后,叫:服务器开启了、服务器挂载成功了。
//注意:修改了代码,需要重新使用node运行这个文件,专业叫:重启服务器
//我们开发者如何访问这个服务器:
/*
http://localhost:3000
http://127.0.0.1:3000
上面的两个作用一样:代表访问的是你自己电脑上的服务器。
自己的IP
http://192.168.30.128:3000
*/
设置响应头信息。res.writeHead(200,{'Content-Type':"text/html;charset=utf8"})
const http = require('http')
const server = http.createServer() //得到 个服务器对象
server.on( 'request',function(req,res){
//设置响应头:告诉浏览器要以utf8 进行渲染
res.writeHead( 200,{ 'Content-type':'text/html;charset=utf8' } )
//响应头一定是在响应之前设置,也就是writeHead必须写在end之前 。
res.end('你好node.js') //这就是响应。
} )
server.listen(3001)