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

学习笔记(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服务。

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

相关文章:

  • LeertCode 134 加油站
  • python文件操作的基本流程
  • 1. 两数之和
  • 操作系统:06 进程通信
  • WRF模式
  • 2直接连接的网络与VLAN划分【实验】【计算机网络】
  • 【Linux0.11代码分析】04 之 head.s 启动流程
  • 自动化测试和selenium的使用
  • Ubuntu常用终端操作
  • Spring Security 6.x 系列【34】认证篇之前后端分离场景下的集成方案
  • Qt之QTextToSpeech 让你的应用程序说话
  • 为什么程序员喜欢用Linux?
  • leetcode 598. 范围求和 II
  • javaweb前置知识
  • 基于微信小程序的酒店预定管理系统设计与实现
  • 26. Service——深入学习
  • 【算法】Check If Word Is Valid After Substitutions 检查替换后的词是否有效
  • 基于jenkinsfile布置java工程
  • Spring JpaTransactionManager事务管理
  • 全国职业院校技能大赛网络建设与运维赛项赛题(七)
  • asp.net+sqlserver企业公司进销存管理系统
  • WxGL应用实例:绘制点云
  • 一个月内面了30家公司,薪资从18K变成28K,真行啊····
  • 《计算机网络——自顶向下方法》精炼——1.4到1.7
  • 消息队列 (Message Queue)
  • JavaScript原型链污染学习记录
  • 顶级白帽黑客必备的十大黑客技术
  • 【关于认证鉴权一些概念梳理】
  • 16.网络爬虫—字体反爬(实战演示)
  • BOM概述