学习笔记(13)网络基础

news/2024/5/18 13:28:47 标签: js, cookie, json

目录

  • 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:把对象转换成字符串。

js">var jsonStr =JSON.stringify(objArr);

2.2,JSON.parse

parse:把字符串转化成对象。

js">var objArr2 =JSON.parse(data.toString());

cookie_17">3,cookie

3.1,set方法

set方法:用来设置响应内容。

Set-cookie设置响应头,设置了cookie之后可以让浏览器帮助服务端存储一定的数据。
当浏览器收到cookie之后下一次启动服务器的时候会自动把cookie附带到本次的请求头中。
cookie的内容只能是字符串,如果想存储多个键值对的话,会比较麻烦,而且要按照cookie的标准格式去进行存储。

js">导入cookievar cookie =require('cookie');

res.set('Set-cookie','name=xia,age=30'); 

cookie_30">3.2,cookie方法用于设置响应头,

cookie方法:用于设置响应头,

1参:cookie的名字,名字重复代表更新cookie,
2参:cookie的值,
3参:cookie需要配置的对象,可以配置有效期,或者路径。

js">res.cookie('name','King',{
// 有效期 毫秒
maxAge:86400

4,http模块

http模块的作用:创建http服务。

  1. createServer:创建基于http协议的服务器,
    request:请求(req):里面包含有此次请求的内容,
    response:响应(res):里面包含有此次响应的内容
js">var app =http.createServer(function(req,res){}
  1. res.end:向响应体内插入数据,把数据返回给客户端,并结束此次请求。默认返回是html格式 可以直接返回现成的网页,也可以嵌入标签。
js">res.end("<h1>欢迎来到我的csdn,谢谢阅读!!!</h1>");
  1. listen:服务器起动
    端口号;8080,3000
js">//成功之后的回调
app.listen(8080,function(err){
console.log("run is now");
});

4.1,请求报文和响应报文

http要求只有客户端主动请求服务器,服务器才能做出响应。
一次完整的http请求:
1,客户端按照请求报文格式把请求数据发给服务器,
2,然后服务器按照响应报文格式返回给客户端数据。
在这个过程中,客户端执行的数据叫请求报文,服务端返回的数据叫响应报文。
请求报文

  1. 请求行:单独的一行,其中规定了请求方法,资源路径,协议名称/协议版本,
  2. 请求头:多行数据,其中可以记录请求的路径,请求的cookie,浏览器信息,请求体长度,
  3. 空行:单独的一行,没有任何数据,作用是用来分隔请求头和请求体,
  4. 请求体:多行数据,内容是本次请求的数据。

响应报文

  1. 响应行:单行的数据,本次请求的状态码,请求结果:
    A,1开头表示正在拨,
    B,2开头表示连接成功,
    C,4表示客户端出现错误404,url拼错,
    D,5表示服务端错误,502表示服务器瘫痪了,
  2. 响应头:多行数据 包含服务器信息,本次请求体的长度,本次请求体的数据类型,cookie
  3. 空行:和请求报文空行一样。
  4. 响应数据:本次请求返回的数据一般都是json或者是xml格式。

http://www.niftyadmin.cn/n/291064.html

相关文章

Mysql的常见错误及常用操作(根据身份证、生日获取年龄等)

以下是mysql的一些常见操作及问题处理&#xff0c;后续会陆续追加 【Mysql】如何查询数据库中存在某一个字段的所有表&#xff1f; 数据库里的表很多&#xff0c;一时之间忘记了要找的表&#xff0c;只记得其中的某些字段&#xff0c;可以用下面的sql来查询在这个数据库中&…

代码随想录补打卡 343整数拆分

343 整数拆分 func integerBreak(n int) int { dp : make([]int,n1) //因为最后一个元素是dp[n]&#xff0c;所以长度是n1 dp[0] 0 //2拆分为1,1 所以乘积为1 dp[1] 0 dp[2] 1 for i : 3 ; i < n ; i { //从3开始遍历&#xff0c;一直遍历到…

以京东为例,分析优惠价格叠加规则

一、平行优惠计算原则 1、什么是“平行式门槛计算规则”&#xff1f; 平行式门槛计算规则&#xff0c;即每一层级优惠都直接根据商品的单品基准价来计算是否符合门槛&#xff0c;店铺/平台促销、优惠券类优惠之间是并列关系&#xff0c;只要单品基准价或单品基准价总和&#x…

【JS笔记】JS常见的事件、事件传播、事件解绑、事件委托、阻止事件冒泡、阻止默认行为、正则表达式

目录 一、JS事件 1.1、事件介绍 1.2、绑定和解绑事件 (1)绑定事件 (2)解绑事件

random — 伪随机数生成器(史上总结最全)

目的&#xff1a;实现几种类型的伪随机数生成器。 random 模块基于 Mersenne Twister 算法提供了一个快速的伪随机数生成器。Mersenne Twister 最初开发用于为蒙特卡洛模拟器生成输入&#xff0c;可生成具有分布均匀&#xff0c;大周期的数字&#xff0c;使其可以广泛用于各种…

Maven命令和配置详解

Maven命令和配置详解 1. pom基本结构2. build基本结构3. Maven命令详解3.1 打包命令3.2 常用命令3.3 批量修改版本-父子pom4. Maven配置详解4.1 settings.xml4.2 项目内的maven工程结构Maven POM构建生命周期工程实践1. pom基本结构 <?xml versi

C++图文安装教程,计算机零基础都能懂

系统&#xff1a;win11 软件&#xff1a;code blocks&#xff06;DEV-CPP 文章目录 一、Dev-Cpp安装步骤1.点击安装包2.选择我们的语言为English3.选择我同意即可4.点击next就可以&#xff0c;最后一个框除非是你之前有写过C的项目&#xff0c;想要清除&#xff0c;否则我们不用…

【Java|golang】2432. 处理用时最长的那个任务的员工

共有 n 位员工&#xff0c;每位员工都有一个从 0 到 n - 1 的唯一 id 。 给你一个二维整数数组 logs &#xff0c;其中 logs[i] [idi, leaveTimei] &#xff1a; idi 是处理第 i 个任务的员工的 id &#xff0c;且 leaveTimei 是员工完成第 i 个任务的时刻。所有 leaveTimei…