HTTP请求与响应处理

1. 请求参数

客户端向服务器端发送请求时,有时需要携带一些客户信息,客户信息需要通过请求参数的形式传递到服务器端,比如登录操作。

在这里插入图片描述

2. GET 请求参数

  • 参数被放置在浏览器地址栏中,例如:http://localhost:3000/?name=zhangsan&age=20
  • 如下对请求参数进行解析:

在这里插入图片描述
在这里插入图片描述

  • 再利用es6中对象解构对代码进行优化:

在这里插入图片描述
在这里插入图片描述

3. POST 请求参数

  • 参数被放置在请求体中进行传输
  • 获取POST参数需要使用data事件和end事件
  • 使用 querystring 系统系统模块将参数转换为对象格式(内置模块 querystring 的方法已被弃用,下面的代码示例中下载了第三方包query-string)
  • 当有请求参数传输的时候,就会触发data事件,当请求参数传递完成就会触发end事件

ps:由于post参数在理论上可以是无限的,所以作为服务器来讲,为了减轻压力,post请求参数不是一次就接收完的。比如说我可能传了100m的数据,可能分10次接收,每次接收10m。

在这里插入图片描述

4. 路由

路由是指客户端请求地址与服务器端程序代码的对应关系。简单地说,就是请求什么响应什么。

在这里插入图片描述
在这里插入图片描述

5. 静态资源

服务器端不需要处理,可以直接响应给客户端的资源就是静态资源,例如CSS,JavaScript,image文件。

我们为了方便地统一处理这些静态资源,所以,我们约定把所有的静态资源都存放在public目录中

  • 在服务端中,文件中的路径就不要去写相对路径了。
  • 因为这个时候所有的资源都是通过 url 标识来获取的
  • 我的服务器开放了 /public/ 目录
  • 所以这里的请求路径都写成:/public/xxx
  • / 在这里就是 url 根路径的意思。
  • 浏览器在真正发请求的时候会最终把 http://127.0.0.1:3000 拼上
  • 不要再想文件路径了,把所有的路径都想象成 url 地址

6. 动态资源

相同的请求地址不同的响应资源,这种资源就是动态资源

在这里插入图片描述

第三方模块 mime ---- 获得所有请求类型

在这里插入图片描述

  • 虽然高级浏览器会帮我们自动解析有哪些请求类型,但是为了避免隐患,还是使用这个方法去获得所有请求类型

7. 客户端请求途径

  1. GET方式
  • 浏览器地址栏
  • link标签的ref属性
  • script标签的src属性
  • img标签的src属性
  • Form表单提交
  1. POST方式
  • 表单提交

在这里插入图片描述

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值