1.http协议
浏览器和web之间的通信协议
(1)通用头协议
Request URL:请求的URL资源,向服务器端获取的内容
Request Method:请求的方法 get/post get获取内容,post向服务器端发送比较安全的数据
Status Code:响应的状态码
2xx:服务器成功的响应
3xx:响应的重定向,跳转到下一个URL
4xx:客户端错误
5xx:服务器错误
Remote Address:请求的服务器IP地址和端口号
(2)响应头信息
Connection:keep-alive; 连接方式:持续连接
Content-Type:响应的文件类型
Transfer-Encoding:响应时的传输方式,chunked(分段传输)
(3)请求头信息
Accept:客户端接收的文件类型有哪些
Connection:客户端与服务器端的连接方式
User-Agent:客户端使用的浏览器
(4)请求主体
可有可无,浏览器向服务器端传输的数据
2.http模块
可以模拟浏览器向服务器端发送数据;也可以搭建web服务器
(1)模拟浏览器
http(url,callback);
//URL:请求的url;
//callback: 回调函数,用来获取服务器端的响应
//res 回调函数中的参数 响应的对象
//res.statusCode 响应的状态码
/*res.on('data',(buf)=>{
通过事件来获取服务端响应的数据,当有数据传递时 会自动调用回调函数 把数据以buffer格式放在参数buf中
})*/
(2)创建web服务器
//创建服务器
var server=createServer();
//监听端口
server.listen(端口号,回调函数);
//接收浏览器的请求,是事件的形式 一旦有请求 自动执行
//req 请求的对象 (url 请求的url method 请求的方法 直接在地址栏输入默认是get headers 请求的头信息)
//res 响应的对象
server.on('request',(req,res)=>{
req 请求的对象 获取请求
res 响应的对象 浏览器做出响应
res.writeHead(状态码,{}) 响应状态码和头信息;如果要跳转需要设置location属性。
res.write();将响应的数据发送到浏览器中
res.end();结束响应
});
2.express框架
基于nodejs,用于构建web服务器的框架 官网:www.expressjs.com.cn
安装方式:npm install express
//引入第三方模块
const express=require('express');
//创建服务器
var server=express();
//监听端口
server.listen(端口号);
路由
浏览器向web服务器发送请求,web服务器会根据请求的url和请求的方法做出响应
res.send() 响应文本 ,每个路由只能使用一次send。
总结: 今天学到了http协议里面的一些内容包括通用头协议、响应头协议、请求头协议、请求主体、创建web服务器(重点)以及使用第三方模块express创建web服务器。