当前位置: 首页 > news >正文

Node.js_基础知识(http模块)

网络基础

  1. URL的组成结构:协议名: // 主机名 [:端口号] [/路径] [?查询字符串]
  2. 协议默认端口
    • http:80,开发常用端口有 3000、8080、8090、9000
    • https: 443
      如果端口被其他程序占用,可以使用 资源监视器 找到占用端口的程序,然后使用任务管理器关闭对应的程序
  3. IP
    • 分类:
      • 本机回环IP:127.0.0.1 ~ 127.255.255.254
      • 局域网IP(私网):
        • 192.168.0.0 ~ 192.168.255.255
        • 172.16.0.0 ~ 172.31.255.255
        • 10.0.0.0 ~ 10.255.255.255
      • 广域网IP(公网):除上述之外
    • 本质:是一个数字标识,用来标志网络设备,实现设备间通信 。例如路由器的IP地址为192.168.1.1,开通(电信、移动、联通)网络之后,会新增一个广域网IP地址,用来访问互联网。

全局方法

  1. URL:获取路径和查询字符串推荐使用的方法
    const url = new URL(request.url, 'http://127.0.0.1');
    // 路径
    console.log(url.pathname);
    // 查询字符串对象
    console.log(url.searchParams);
    

http模块

  1. 请求体:

    • get方法:请求体为空
    • post方法:有2种方式(form表单提交、ajax请求),请求体不为空
  2. 响应报文设置:

    • 状态码:response.statusCode
    • 状态描述:response.statusMessage
    • 响应头信息:response.setHeader(‘头名’, ‘头值’)
    • 响应体:
      • response.write: 可以写多个,也可以不写
      • response.end(字符串或buffer类型):每个请求都必须要执行,必须写
  3. 媒体资源类型(MIME类型):

    • 说明:是一种标准,用来表示文档、文件、字节流的性质和格式。例如HTTP服务可以设置响应头Content-Type来表明响应体的MIME类型,浏览器会根据该类型来决定如何处理资源
    • 结构:[type]/[subType],例如:text/html、text/css、image/png、application/json
    • 对未知的资源类型进行下载操作:浏览器在遇到application/octet-stream类型的响应时,会对响应体内容进行独立存储,即下载
  4. get与post请求的区别:

    • 作用:get主要用来获取数据,post主要用来提交数据
    • 参数位置:get的参数在url后面,post的参数在请求体中
    • 安全性:post请求相对get安全一些,不会将参数暴露在url地址栏,get请求容易受到跨站请求攻击
    • 大小限制:get一般限制为2K,post则没有大小限制
http://www.lryc.cn/news/309032.html

相关文章:

  • matlab工具包
  • UCSF DOCK 分子对接详细案例(01)- rigid, fixed anchor, flexible dock
  • java基础(4)注解,集合,
  • 基于springboot+vue的大学城水电管理系统(前后端分离)
  • 代码随想录算法训练营第四十六天| 139.单词拆分、卡码网第56题
  • Redis 在 Linux 系统下安装部署的两种方式详细说明
  • 【茶话数据结构】查找最短路径——Dijkstra算法详解(保姆式详细图解,步步紧逼,保你学会)
  • Webserver解决segmentation fault(core dump)段错问问题
  • 存储过程基本了解
  • 『大模型笔记』RAG应用的12种调优策略指南
  • leedcode刷题--day7(字符串)
  • 【蓝桥杯省赛真题31】python连续正整数之和 中小学青少年组蓝桥杯比赛python编程省赛真题解析
  • 【116个】网络安全测试相关面试真题
  • 微服务day02-Ribbon负载均衡与Nacos安装与入门
  • 深度学习-神经网络原理
  • Chat GPT:智能对话的下一步
  • [数据集][目标检测]鸡蛋破蛋数据集VOC+YOLO格式792张2类别
  • RabbitMQ实战学习
  • 插混、油混、增程式、轻混、强混,啥区别
  • React 模态框的设计(八)优化补充
  • 知识积累(三):深度学习相关概念(查看检索时看到)
  • 计算机专业必看的几部电影
  • 工业人工智能需要注意的10件事
  • 软考-系统集成项目管理中级-信息系统建设与设计
  • C++从零开始的打怪升级之路(day39)
  • Java面试题之并发
  • Python GUI自动化定位代码参考
  • 11.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-接管游戏接收网络数据包的操作
  • 特斯拉一面算法原题
  • 【Leetcode每日一题】二分查找 - 山脉数组的峰顶索引(难度⭐⭐)(23)