请求响应原理及HTTP协议

一、服务器端基础概念

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));});
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

友农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值