node模块化
一个js文件就是一个模块
//页面1
const a=1;
//暴露
module.exports={
add(x){
return a+x;
}
}
//页面2
//引入
const a=require("./2");
const b=a.add(2);
console.log(b);//3
node是为了处理依赖管理和变量污染; 一个页面中打开一个端口就是在module.exports的对象中写一个方法;另一个页面用require(“地址”)就可以拿到接口的方法.
创建web服务器
1、修改淘宝源:npm config set registry https://registry.npm.taobao.org
2、创建一个工程目录 myapp,并进入目录
3、项目初始化:npx express-generator
4、安装依赖:npm install
5、启动 npm start
6、使用 http://localhost:3000 访问,查看访问页面;
HTTP协议:超文本传输协议
web服务器:使用浏览器访问的服务,
URI:统一资源标志符
URL:统一资源定位符:由三部分组成(协议,ip地址/端口,具体地址)
URN:统一资源命名符
request:客户端发送请求到服务器有四步:请求行、请求头、空行、请求体;
response:服务器响应:响应行、响应头、空行、响应体
请求类型
GET: 请求指定的页面信息,并返回实体主体。
HEAD :类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST :向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请 求可能会导致新的资源的建立和/或已有资源的修改。
PUT :从客户端向服务器传送的数据取代指定的文档的内容。
DELETE: 请求服务器删除指定的页面。
CONNECT: HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS :允许客户端查看服务器的性能。
TRACE :回显服务器收到的请求,主要用于测试或诊断。
HTTP事物
1、用户发起请求首先解析域名然后返回ip地址
2、拿到ip地址后向TCP协议建立通信(3次发送接收,建立)
3、服务器拿到用户请求后,将结果返回
4、浏览器收到返回结果
状态码
1xx:请求已经接收
2xx:成功
3xx:要进一步操作
4xx:客户端的问题
5xx:后台的问题