学习笔记(13)网络基础
目录
- 1,get与post的区别
- 2,JSON解析
- 2.1,JSON.stringify
- 2.2,JSON.parse
- 3,cookie
- 3.1,set方法
- 3.2,cookie方法用于设置响应头,
- 4,http模块
- 4.1,请求报文和响应报文
1,get与post的区别
get没有请求体,请求的数据直接追加到url后面,post有请求体,请求的数据和url分开,
GET请求的数据会暴露在地址栏中,而POST请求则不会。
在使用GET请求时,传输数据会受到URL长度的限制。
POST的安全性比GET的高。
2,JSON解析
2.1,JSON.stringify
stringify:把对象转换成字符串。
var jsonStr =JSON.stringify(objArr);
2.2,JSON.parse
parse:把字符串转化成对象。
var objArr2 =JSON.parse(data.toString());
3,cookie
3.1,set方法
set方法:用来设置响应内容。
Set-cookie设置响应头,设置了cookie之后可以让浏览器帮助服务端存储一定的数据。
当浏览器收到cookie之后下一次启动服务器的时候会自动把cookie附带到本次的请求头中。
cookie的内容只能是字符串,如果想存储多个键值对的话,会比较麻烦,而且要按照cookie的标准格式去进行存储。
导入cookie包
var cookie =require('cookie');res.set('Set-cookie','name=xia,age=30');
3.2,cookie方法用于设置响应头,
cookie方法:用于设置响应头,
1参:cookie的名字,名字重复代表更新cookie,
2参:cookie的值,
3参:cookie需要配置的对象,可以配置有效期,或者路径。
res.cookie('name','King',{
// 有效期 毫秒
maxAge:86400
4,http模块
http模块的作用:创建http服务。
- createServer:创建基于http协议的服务器,
request:请求(req):里面包含有此次请求的内容,
response:响应(res):里面包含有此次响应的内容
var app =http.createServer(function(req,res){}
- res.end:向响应体内插入数据,把数据返回给客户端,并结束此次请求。默认返回是html格式 可以直接返回现成的网页,也可以嵌入标签。
res.end("<h1>欢迎来到我的csdn,谢谢阅读!!!</h1>");
- listen:服务器起动
端口号;8080,3000
//成功之后的回调
app.listen(8080,function(err){
console.log("run is now");
});
4.1,请求报文和响应报文
http要求只有客户端主动请求服务器,服务器才能做出响应。
一次完整的http请求:
1,客户端按照请求报文格式把请求数据发给服务器,
2,然后服务器按照响应报文格式返回给客户端数据。
在这个过程中,客户端执行的数据叫请求报文,服务端返回的数据叫响应报文。
请求报文
- 请求行:单独的一行,其中规定了请求方法,资源路径,协议名称/协议版本,
- 请求头:多行数据,其中可以记录请求的路径,请求的cookie,浏览器信息,请求体长度,
- 空行:单独的一行,没有任何数据,作用是用来分隔请求头和请求体,
- 请求体:多行数据,内容是本次请求的数据。
响应报文
- 响应行:单行的数据,本次请求的状态码,请求结果:
A,1开头表示正在拨,
B,2开头表示连接成功,
C,4表示客户端出现错误404,url拼错,
D,5表示服务端错误,502表示服务器瘫痪了, - 响应头:多行数据 包含服务器信息,本次请求体的长度,本次请求体的数据类型,cookie等
- 空行:和请求报文空行一样。
- 响应数据:本次请求返回的数据一般都是json或者是xml格式。
相关文章:
学习笔记(13)网络基础
目录 1,get与post的区别2,JSON解析2.1,JSON.stringify2.2,JSON.parse 3,cookie3.1,set方法3.2,cookie方法用于设置响应头, 4,http模块4.1,请求报文和响应报文…...
LeertCode 134 加油站
题目: 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组 …...
python文件操作的基本流程
引入 程序运行过程中产生的数据会保存到内存中,如果想要永久保存下来,就必须将数据存放在硬盘上,应用程序如果想要操作计算机的硬件就必须通过操作系统,文件就是操作系统提供给应用程序来操作硬盘的虚拟概念,应用程序…...
1. 两数之和
原题链接: 1. 两数之和 https://leetcode.cn/problems/two-sum/ 完成情况: ##1. n 2 n^2 n2复杂度 2.HashMap进行优化 3.空间换时间方法 即,构建一个 1 0 − 9 10^-9 10−9 到 1 0 9 10^9 109这个大的数组,然后把数填进去&…...
操作系统:06 进程通信
1 基本概念 进程间通信是指两个或多个进程之间交互数据的过程,因为进程之间是相互独立的,为了协同工作必须进行进程间交互数据 2 进程间通信的分类 2.1 简单的进程间通信: 信号(携带附加数据)、文件、命令行参数、环境变量表 2.2 传统的进…...
WRF模式
随着生态文明建设和“碳中和”战略的持续推进,我国及全球气候变化及应对是政府、科学界及商业界关注的焦点。气候是多个领域(生态、水资源、风资源及碳中和等问题)的主要驱动因素,合理认知气候变化有利于解释生态环境变化机理及过…...
2直接连接的网络与VLAN划分【实验】【计算机网络】
2直接连接的网络与VLAN划分【实验】【计算机网络】 前言推荐2直接连接的网络与VLAN划分2.1共享式以太网和交换式以太网实验目的实验内容及实验环境实验原理共享式以太网交换式以太网 实验过程搭建实验环境初始化序训练操作共享式以太网-操作交换式以太网查看共享式以太网冲突查…...
【Linux0.11代码分析】04 之 head.s 启动流程
【Linux0.11代码分析】04 之 head.s 启动流程 一、boot/head.s 系列文章如下: 系列文章汇总:《【Linux0.11代码分析】之 系列文章链接汇总(全)》 . 1.《【Linux0.11代码分析】01 之 代码目录分析》 2.《【Linux0.11代码分析】02 之…...
自动化测试和selenium的使用
目录 自动化测试定义 为什么选择selenium来作为我们web自动化测试的工具? 自动化测试定位元素 使用cssSelector定位 使用XPath 定位 操作测试对象 模拟手动从键盘输入 点击对象 获取页面文本 清除对象输入的文本内容 添加等待(三种方式&#…...
Ubuntu常用终端操作
终端快捷键 打开 Ctrlaltt:打开终端(默认路径为家目录) Ctrlshiftn:打开终端(与当前终端处于同一路径下) Ctrlshiftt:打开终端(在大终端下面创建小终端) alt数字 关闭 exitCtrld 窗口切换 …...
Spring Security 6.x 系列【34】认证篇之前后端分离场景下的集成方案
有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.0.4 本系列Spring Security 版本 6.0.2 源码地址:https://gitee.com/pearl-organization/study-spring-security-demo 文章目录 1. 前言2. 案例演示2.1 未认证2.2 认证成功2.3 认证失败2.4 权限不足2.5 注…...
Qt之QTextToSpeech 让你的应用程序说话
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言QTextToSpeech基础使用1.创建一个QTextToSpeech对象2.朗读文字3.朗读文件和状态信息4.设置QTTS(QTextToSpeech)属性5.输出支持区域的设置列表、语言6.实现小数点朗读QTextToSpeech项目(练习)…...
为什么程序员喜欢用Linux?
Linux哪些行业在运用? Linux系统运用极其广泛,不少用户只知道windows,是因为,Linux的运用主要是在企业端。现在科技极其发达,我们手机在手,就能干很多事情,只需点一点屏幕,轻松完成…...
leetcode 598. 范围求和 II
题目描述解题思路执行结果 leetcode 598. 范围求和 II 题目描述 范围求和 II 给你一个 m x n 的矩阵 M ,初始化时所有的 0 和一个操作数组 op ,其中 ops[i] [ai, bi] 意味着当所有的 0 < x < ai 和 0 < y < bi 时, M[x][y] 应该…...
javaweb前置知识
1.CSS CSS的角色:页面显示的美观风格CSS的基础语法:标签样式;类样式;ID样式;组合样式;嵌入式样式表;内部样式表;外部样式表盒子模型:border、margin、padding定位和浮动…...
基于微信小程序的酒店预定管理系统设计与实现
第1章 绪论 1 1.1开发背景与意义 1 1.2开发方法 1 1.3论文结构 1 2系统开发技术与环境 3 2.1 系统开发语言 3 2.2 系统开发工具 3 2.3 系统页面技术 3 2.4 系统数据库的选择 4 2.5 系统的运行环境 4 2.5.1 硬件环境 4 2.5.2 软件环境 4 3系统分析 5 3.1可行性分析 5 3.1.1 经济…...
26. Service——深入学习
本章讲解知识点 Service 会话保持机制Service 的多端口设置Service 支持的网络协议Kubernetes 的服务发现机制Headless ServiceEndpoint Slices这一节我们来讲讲 Service 更多细节 1. Service 会话保持机制 Service 支持通过设置 sessionAffinity 实现基于客户端 IP 的会话保…...
【算法】Check If Word Is Valid After Substitutions 检查替换后的词是否有效
文章目录 Check If Word Is Valid After Substitutions 检查替换后的词是否有效问题描述:分析代码 Tag Check If Word Is Valid After Substitutions 检查替换后的词是否有效 问题描述: 给你一个字符串 s ,请你判断它是否 有效 。 字符串 s…...
基于jenkinsfile布置java工程
需求 通过jenkins发布java项目到服务器 预备环境 项目地址: https://gitee.com/asaland/sb-docker-appJenkins 2.387.3 通过Jenkinsfile实现方式 jenkins ui 配置pipeline 什么是pipeline? 直接看注释吧,简单点就是编排可以多个跨时间的构建代理…...
Spring JpaTransactionManager事务管理
首先,在做关于JpaTransactionManager之前,先对Jpa做一个简单的了解,他毕竟不如hibernate那么热门,其实二者很相识,只不过后期hibernate和JDO 版本都已经兼容了其Jpa,目前大家用的少了。 JPA全称Java Persi…...
FireRedASR Pro Java集成开发指南:SpringBoot微服务语音处理实战
FireRedASR Pro Java集成开发指南:SpringBoot微服务语音处理实战 如果你是一个Java后端开发者,最近接到了要给系统加上语音识别功能的需求,比如处理用户上传的客服录音,或者分析会议纪要,那你可能正在寻找一个既稳定又…...
Chatbox 连接火山引擎 ModelNotOpen 实战指南:从零搭建到生产环境部署
作为一名开发者,你是否也曾对构建一个能与自己实时对话的AI应用心驰神往?想象一下,一个能听懂你说话、理解你意图、并用自然声音回应你的数字伙伴。这听起来像是未来科技,但实际上,利用现有的强大工具,我们…...
SpringBoot yml 配置文件,读取 Windows 系统环境变量
SpringBoot yml 配置文件,读取 Windows 系统环境变量 在 Spring Boot 的 application.yml 配置文件中读取 Windows 系统环境变量,主要使用 ${VARIABLE_NAME} 占位符语法。 🔧 在 yml 文件中引用环境变量 在 application.yml 中,你…...
拆解二进制炸弹:从GDB调试到浮点数逆向的实战技巧
拆解二进制炸弹:从GDB调试到浮点数逆向的实战技巧 逆向工程就像一场数字世界的考古探险,而二进制炸弹程序则是绝佳的练习场。本文将带你深入Linux环境下使用GDB进行动态调试的完整过程,特别聚焦浮点数表示阶段的逆向技巧。无论你是计算机专业…...
Python 3.14 JIT编译器深度调优实战(官方未公开的profile-driven优化链)
第一章:Python 3.14 JIT编译器演进与调优全景概览Python 3.14 引入了实验性但高度可配置的内置 JIT 编译器(代号“Torchlight”),标志着 CPython 首次在标准发行版中集成生产就绪的即时编译能力。该 JIT 并非替代解释器࿰…...
OpenClaw硬件推荐:流畅运行nanobot镜像的最低配置与性价比方案
OpenClaw硬件推荐:流畅运行nanobot镜像的最低配置与性价比方案 1. 为什么需要关注硬件配置? 去年夏天,我第一次尝试在笔记本上部署OpenClaw时遭遇了惨痛的失败。那台搭载i5-8250U的轻薄本在启动nanobot镜像后,风扇立刻像直升机一…...
5分钟搞定OpenClaw对接Qwen3-32B:RTX4090D私有镜像一键部署指南
5分钟搞定OpenClaw对接Qwen3-32B:RTX4090D私有镜像一键部署指南 1. 为什么选择Qwen3-32BOpenClaw组合 上周我在调试一个自动化文档处理流程时,发现现有的7B模型经常无法理解复杂的文件操作指令。经过多次尝试,最终选择了Qwen3-32B作为OpenC…...
Polars 2.0清洗效能天花板在哪?我们用金融/电商/物联网三大行业真实数据集压力测试后,终于敢说这句话
第一章:Polars 2.0清洗效能天花板在哪?我们用金融/电商/物联网三大行业真实数据集压力测试后,终于敢说这句话为精准定位 Polars 2.0 在真实业务场景下的清洗性能边界,我们构建了三类高保真数据集:金融领域(…...
运算放大器与电压比较器原理及应用对比
运算放大器与电压比较器的原理分析与工程应用1. 器件概述与符号对比1.1 基本符号结构运算放大器(Operational Amplifier)和电压比较器(Voltage Comparator)在原理图符号上具有完全相同的表现形式,均包含五个基本引脚:正电源引脚(VCC/V)负电源引脚(GND/-V…...
【数据结构与算法】第5篇:线性表(一):顺序表(ArrayList)的实现与应用
一、什么是顺序表顺序表是最简单的一种线性结构。用一段地址连续的存储单元依次存储数据元素。你可以把它理解为一个可以自动扩容的数组。C语言的原生数组长度是固定的,不够用的时候只能重新申请更大的数组,把数据搬过去。顺序表封装了这个过程ÿ…...
