一、服务器端基础概念
1.1网站的组成
网站应用程序主要分为两大部分:客户端和服务器端。
客户端:在浏览器中运行的部分,就是用户看到并与之交互的界面程序。使用HTML、CSS、JavaScript构建。
服务器端:在服务器中运行的部分,负责存储数据和处理应用逻辑。
1.1IP地址
互联网中设备的唯一标识。
IP是Internet Protocol Address的简写,代表互联网协议地址。
1.2域名
由于IP地址难于记忆,所以产生了域名的概念,所谓域名就是平时上网所使用的的网址。
1.3端口
端口是计算机与外界通讯交流的出口,用来区分服务器电脑中提供的不同服务。
1.4URL
统一资源定位符,又叫URL(Uniform Resource Locator),是专为识别Internet网上资源位置而设置的一种编址方式,我们平时所说的网页地址指的即是URL。
URL的组成
传输协议://服务器IP或域名:
二、创建web服务器
//引用系统模块
const http = require('http');
//创建web服务器
const app = http.creatServer();
//当客户端发送请求的时候
app.on('request',(req,res) => {
//响应
res.end('ok');
})
//监听3000端口
app.listen(3000);
console.log('服务器已启动,监听3000端口,请访问localhost:3000')
这里的监听端口为3000是习惯,自己写的时候也可以将监听端口改为300或者其他。
三、HTTP协议
3.1HTTP协议
HTTP协议也叫作超文本传输协议(英文:HyperText Transfer Protocol,缩写为HTTP)规定了如何从网站服务器传输超文本到本地浏览器,它基于客户端服务器架构工作,是客户端(用户)和服务器端(网站)请求和应答的标准。
3.2报文
在Http请求和响应的过程中传递的数据块就叫做报文,包括要传送的数据和一些附加的信息,并且要遵守规定好的格式。
3.3请求报文
1.请求方式分为GET和POST
2.请求地址
app.on('request',(req,res)=>{
req.headers //获取请求报文
req.url //获取请求地址
req.method //获取请求方法
});
3.4 响应报文
1.Http状态码
- 200 请求成功
- 404 请求的资源没有找到
- 500 服务端错误
- 400 服务端请求有语法错误
2.内容类型
- text/html
- text/css
- application/javascript
- image/jpeg
- application/json
app.on('request',(req,res)=>{
res.writeHead(200,{
'Content-Type':'text/html;charset=utf8'
})
});
四、HTTP请求与响应处理
4.1 请求参数
客户端向服务器端发送请求时,有时需要携带一些客户信息,客户信息需要通过参数的形式传递到服务器端,比如登录操作。
4.2 GET请求参数
- 参数被放置在浏览器地址栏中
- 参数需要借助系统模块URL来处理地址
const http = require('http');
const url = require('url');
const app = http.createServer();
app.on('request',(req,res)=>{
let {query}=url.parse(req.url,ture);
console.log(query);
});
app.listen(3000);
4.3 POST请求参数
- 参数被放在请求体中进行传输
- 获取POST参数需要使用data事件和end事件
- 使用querystring系统模块将参数转换为对象格式
const querystring= require('querystring');
app.on('request',(req,res)=>{
let postData='';
req.on('data',(chunk)=>postData +=chunk;);
req.on('end',()=>{
console.log(querystring.parse(postData));});
});