SSR服务端渲染

get请求方式

get.html文件

<form action="http://10.9.46.253:4002" target="_self"><input type="text" name="user"><button type="submit">提交</button>
</form>

req 请求 客户端发送给这个服务端的消息对象
res 响应 这个服务端发给客户端的消息对象
res.end() 发送给客户端响应消息

res.writeHead(200,{})

200 表示请求成功 404 找不到
{} 响应头 将消息发送给客户端响应的时候,告诉客户端一系列要求
res.write("<div>你好</div>"); 给响应消息体中写入内容,可以使用多个,但是必须写在res.end()之前
res.end()就是把上面的内容发送出去

get.js,服务器文件

var http = require("http");
var querystring = require("querystring");
http.createServer(function (req, res) {var str = req.url.split("?")[1];var o = querystring.parse(str);res.writeHead(200, {"Content-Type": "text/html;charset=utf-8","Access-Control-Allow-Origin": "*" //CORS 允许谁跨域访问})// res.write(o.user + ",欢迎来到我的网站");res.write("<h1>啦啦啦,你好" + o.user)res.write("欢迎访问勇敢牛牛的处理get类型服务器</h1>");res.end();
}).listen(4002, "10.9.46.184", function () {console.log("已启动get类型服务器10.9.46.184:4002");
});

Ajax请求方式

<script>var str = "user=牛小牛"var xhr = new XMLHttpRequest();xhr.addEventListener("load", loadHandler);xhr.open("GET", "http://10.9.46.184:4002?" + str);xhr.send();function loadHandler(e) {console.log(xhr.response);}
</script>

控制台:啦啦啦,你好牛小牛欢迎访问勇敢牛牛的处理get类型服务器

CSR客户端渲染

通过Ajax实现CSR,客户端渲染


csr.html

<body><form action="http://10.9.46.253:4002" target="_self"><input type="text" name="user"><button type="submit">提交</button></form><div></div><script>var form,input,div;init();function init(){form=document.querySelector("form");input=document.querySelector("input");div=document.querySelector("div");form.addEventListener("submit",submitHandler);}function submitHandler(e){e.preventDefault();ajax("user="+input.value)}function ajax(param){var xhr=new XMLHttpRequest();xhr.addEventListener("load",loadHandler);xhr.open("GET","http://10.9.46.253:4002?"+param);xhr.send();}function loadHandler(e){// console.log(this.response)div.innerHTML=this.response;}</script>
</body>

post.js文件

/* 加载服务器对象 */
var http = require("http");
var querystring = require("querystring")
/* 创建服务器 */
http.createServer(async function (req, res) {/* 通过这个promise函数实现异步阻塞 */var o = await getData(req);res.writeHead(200, {"Content-Type": "text/html;charset=utf-8","Access-Control-Allow-Origin": "*" //CORS 允许谁跨域访问})res.write(`欢迎${o.user}访问勇敢牛牛的处理post类型服务器`);res.end();
}).listen(8080, "10.9.46.184", function () {console.log("已启动post类型服务器10.9.46.184:8080");
})function getData(req) {return new Promise(function (resolve, reject) {var str = '';req.on("data", function (_chunk) {/* 收到的是buff类二进制数据流 */str += _chunk// console.log(str);})req.on("end", function () {var o = querystring.parse(str);// console.log(o);resolve(o)})})
}

post.html文件

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><h1>safsd </h1><script>var str = "user=牛小牛";// str = str.repeat(10000)var xhr = new XMLHttpRequest();xhr.addEventListener("load", loadHandler);xhr.open("POST", "http://10.9.46.184:8080");/* post发送数据 */xhr.send(str);function loadHandler(e) {console.log(xhr.response)}</script>
</body></html>

总结

SSR服务端渲染:直接get请求服务端会写入当前页面
CSR服务端渲染:通过求服务端会嵌入当前页面,不修改页面
get请求有两种:直接在url后面跟进对象,通过Ajax请求注意xhr.end()没有参数
post通过xhr的open方法(“POST”)进入,因为这个数据的“庞大性”需要异步promise处理数据,实现异步阻塞式同步。

三种开启服务器的方法总结

1、安装了全局nodemon的话,通过nodemon 文件+后缀名:启动
2、没有安装全局nodemon,项目通过这个npm i加载所有的开发依赖和项目依赖,之后,通过观察这个package.json脚本命令,执行npm run 名称。
3、如果开发依赖里面加载了nodemon,但是没有这个全局安装,可以通过这个npx nodemon post.js这样启动服务器。

【SSR服务端渲染+CSR客户端渲染+post请求+get请求+总结】三种开启服务器的方法总结相关推荐

  1. SSR 服务端渲染与 CSR 客户端渲染

    SSR 服务端渲染与 CSR 客户端渲染 SSR 服务端渲染 CSR 客户端渲染 本文要点: 介绍 SSR 服务端渲染概念.优点.缺点.案例及常用框架. 介绍 CSR 服务端渲染概念.优点.缺点. S ...

  2. 使用Nuxt.js框架开发(SSR)服务端渲染项目

    (SSR)服务端渲染的优缺点 优点: 1.前端耗时少,首屏加载速度快.因为后端拼接完了html,浏览器只需要直接渲染出来. 2.有利于SEO.因为在后端有完整的html页面,所以爬虫更容易爬取获得信息 ...

  3. 华为云IoT智慧物流案例10 | 广和通L610模组FOTA升级(服务端FileZilla Server客户端FileZilla)

    华为云IoT智慧物流案例10 | 广和通L610模组FOTA升级(服务端FileZilla Server客户端FileZilla) 第一章 使用FileZilla Server搭建FTP服务器 第二章 ...

  4. 【SSR和CSR】服务端渲染和客户端渲染区别?如何快速分辨页面是SSR还是CSR?

    首先,介绍一下 SPA.SEO.SSR 三者的区别 SPA(single page application)单页面应用,是前后端分离时提出的一种解决方案. 优点:页面之间切换快:减少了服务器压力: 缺 ...

  5. NodeJS SSR服务端渲染:公共代码区分客户端和服务端

    SSR服务端渲染(英语:server side render)指一般情况下,一个web页面的数据渲染完全由客户端或者浏览器端来完成.先从服务器请求,然后到页面:再通过AJAX请求到页面数据并把相应的数 ...

  6. 浅析SSR(服务端渲染)和SPA(客户端渲染)

    一.前言 C端项目重构成首屏服务端渲染(SSR:serve side render),对于重构成SSR,redux不是必须的.本文以vue为栗子的项目. 二.什么是服务端渲染 将组件或页面通过服务器生 ...

  7. React SSR: 基于 express 自构建 SSR 服务端渲染

    React SSR: 基于 express 自构建 SSR 服务端渲染 文章目录 React SSR: 基于 express 自构建 SSR 服务端渲染 完整代码示例 前情提要 构建 CSR 项目 项 ...

  8. python 服务端渲染_客户端渲染与服务端渲染

    后端渲染 服务器直接生成HTML文档并返回给浏览器,但页面交互能力有限.适用于任何后端语言:PHP.Java.Python.GO等. 客户端渲染(CSR) 页面初始加载的HTML文档中无内容,需要下载 ...

  9. 服务端渲染与客户端渲染详解(vue)

    1.客户端请求 (1)用户在浏览器输入请求的地址例如:172.0.0.1:8080 到服务器 服务器接受到客户端的请求拿到一个没有被数据渲染的空页面 (2)客户端拿到服务端的空字符串页面,然后从上往下 ...

最新文章

  1. 为何 Map接口不继承Collection接口
  2. 近世代数--整环上的唯一分解问题--唯一分解整环上有算术分解定理
  3. android布局layout,Android布局(FrameLayout、GridLayout)
  4. springMVC 几种页面跳转方式
  5. HDU 1559 最大子矩阵
  6. 卡尔曼滤波器求速度matlab,卡尔曼滤波器算法浅析及matlab实战
  7. 值传递,指针传递,引用传递
  8. python工作流程_讨论 - 廖雪峰的官方网站
  9. String 和 StringBuffer 的区别
  10. 斐讯k3怎么设置虚拟服务器,斐讯K3路由器功能介绍及使用教程
  11. 1.17 用Laplace变换解常微分方程
  12. pyqt创建窗口没有句柄_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
  13. 华为热设计工程师待遇_【华为热设计工程师面试】华为的面试是我面试过程中相对简单的一个。-看准网...
  14. 基于UML软件建模的企业人事管理系统
  15. 这个“国宝级”景区,被誉为世界第八大奇迹,形成原因是个谜
  16. 避免2.4GHz ISM频段各种类型无线设备干扰的技术
  17. ffmpeg学习——音频源
  18. Win10开始菜单打不开怎么办?
  19. 算法基础11 —— 树入门(二叉树的遍历以及构造 + 普通树转换成二叉树 + 例题 + 二叉树的一些操作)
  20. 使用加密锁加密Unity工程插件源码

热门文章

  1. matlab极性rz编码,单极性归零(RZ)波形及其Matlab仿真.doc
  2. html显示在最上面,怎样把div显示在html的最上面?
  3. 火火火的圣诞帽!微信朋友都给自己头像带上了!
  4. VMware Horizon 8 2111 部署系列(十三)创建应用程序池
  5. 电商小程序Java_小程序电商客户端Demo 系统:小程序电商客户端源码 开发语言:Java(System: small program e - 下载 - 搜珍网...
  6. 计算机系活动主题,计算机科学系“传承大钊精神,让青春绽放光彩”主题团日活动...
  7. 深入分析:Onliner SpamBot7.11亿电邮账号泄露事件
  8. 载波通信在电网智能化中的应用
  9. android 横向滚轮控件,Android滚轮控件,基于ListView实现,可以自定义样式。
  10. 读文献——一些专有名词的学习记录