【nodejs开发个人博客】-1 接口开发(不用任何框架)


分为3部分:
nodejs 如何处理http 请求
搭建开发环境
接口开发( 暂不链接数据库,暂不考虑登录,先返回假数据,先把前后端调通,调通后再连数据库用真数据,最后再考虑登录的问题
在这里插入图片描述

1、http请求概述

问: 从输入url 到看到页面,中间发生了什么

  1. 浏览器行为: DNS 解析(域名解析为ip地址,根据ip找到服务器),(客户端和服务端)建立TCP连接(三次握手),发送http请求
  2. 服务器行为: 服务端(server端)接收到http请求,处理,并返回(这一步是本节的主要内容,我们怎么接收请求,处理请求,并返回结果
  3. 浏览器行为: 客户端(主要指浏览器)接收到返回数据,处理数据(html、css、js 渲染页面,控制页面)
    在这里插入图片描述

例如:以访问百度为例:

  1. dns解析:根据域名找到对应的ip地址(先从浏览器缓存里找 --》 然后找host – 》 然后去dns解析直到找到 域名对应的ip为止);
    在这里插入图片描述
    注:因为百度产品比较大,全国各地的用户可能都有,所以用户看到的ip地址可能不一样,自己今天看和明天看也可能不一样。

域名解析的具体过程:
1.浏览器或操作系统本身有缓存,例如baidu.com这个域名有缓存,如果缓存过期或者第一次访问没有环境,浏览器会去域名供应商那里通过域名去dns服务器去获取地址。

  1. 然后tcp建立连接,通过3次握手(1. 客户端询问服务器,服务器是否可用。2. 服务器告诉客户端,服务可用。 3. 客户端回复:收到,即将访问)
  2. 发送http请求

1.1 request headers

request headers 里是客户端往服务端发送的一些信息。下图看到的是浏览器给我们格式化后的信息,view source里是我们真正发送的文本代码(一段字符串)。
在这里插入图片描述

2、nodejs 处理http请求

1、 get 请求 和querystring 在这里插入图片描述

  • get请求,就是客户端向服务端获取数据,eg:查询博客列表
  • 一般通过querystring 来传递数据,eg: a.html?a=100&b=200
  • 浏览器直接访问,就发送get请求
const http = require('http');
const querystring = require('querystring');   //nodejs的模块,我们利用这个模块querystring的parse方法,把url里?后的字符串 转为对象

const server = http.createServer((req,res)=>{
   
    const url = req.url;    //请求的完整的url
    req.query = querystring
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值