版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
掌握http了解https->安全了解原理:Net模块提供一个异步AP能够创建基于流的CP服务器,客户端与服务器建立连接后,服务器可以获得一个全双工Socet对象,服务器可以保存Sckt对象列表,在接收某客户端消息时,推送给其他客户端。////constnet=constchatServer=net.createServer() List=[] .on('data',data=>{List.forEach(v=>{通 netnetlocalhostHTTP协议(25:55-////观察HTTPcurl-vhttp////consthttp=require("http");constfs=require("fs");.createServer((req,res){const{method,url}=if(method=="GET"&&url=={fs.readFile("./index.html",(err,data)=>{res.setHeader("Content-Type","text/html");}elseif(method=="GET"&&url=={res.setHeader("Content-Type",res.end(JSON.stringify([{name:"tom",age:20}constconstimg=newImage()constresconstres=awaitaxios.get("/api/users") n(`Response://<script(async()=>constexpress=require('express')constapp=express()app.use(express.static(dirname+'/'))module.exports=////constapi=require('./api') =require('./ ////或者通过baseURLaxios.defaults.baseURL='////axios.defaults.baseURL=前端构造script请求指定URL(由script发出的GET请求不受同源策略限制),服务器返json数据。该函数端执行后即可获取数据。 CORS(CrossOriginResourceShare跨域资源共享,后端方案,解决跨域 原理:原理:cors是w3c规范,真正意义上解决跨域问题。它需要服务器对请求进行检查并对响应头做相应处理,从而允许跨域请求。响应简单请求:动词为get/post/head,没有自定义请求头,Content-Type是application/x-www- resres.setHeader('Access-Control-Allow-Origin', elseelseif(method=="OPTIONS"&&url=={res.writeHead(200,"Access-Control-Allow-Origin":" "Access-Control-Allow-Headers":"X-Token,Content-Type","Access-Control-Allow-Methods":"PUT"}//index.html//index.html//http-",{foo:'bar'},elseif((method=="GET"||method=="POST")&&url=="/users")如果要携 //////预检options中和/usersres.setHeader('Access-Control-Allow-Credentials',// ', ////观 //ajax)axios.defaults.withCredentials=模式(89:20-varvarexpress= = -constapp=express()app.use(express.static(dirname+'/'))module.exports=({target:',changeOrigin:对比一下nginx与wck//vue.config.js//vue.config.js{disableHostCheck:true,compress:true,port:5000,:'/api/':{target:changeOrigin:}serverserver #server_namelocation/location/ indexindex.htmlindex.htm;try_files$uri$uri//index.html;}location/api};X-Real-X-Forwarded-$}application/x-www-form-<form<formaction="/api/save"<inputtype="text"name="abc"<inputtype="submit"//elseif(method==="POST"&&url==={letreqData=[];letsize=0;req.on('data',data=>{console.log('>>>reqon',data);size+=req.on('end',function{constdata=Buffer.concat(reqData,size);console.log('data:',size,data.toString())}awaitawaitaxios.post("/api/save",{a:1,b://模拟application/x-www-form-urlencodedawaitaxios//模拟application/x-www-form-urlencodedawaitaxios.post("/api/save",'a=1&b=3',{headers:'Content-Type':'application/x-www-form-//Streampipe//Streampipe//Bufferconnectrequest.on('data',data=>{size+=data.lengthconsole.log('data:',datarequest.on('end',()=>constbuffer=Buffer.concat(chunk,size)size=0// 写request.on('data',datarequest.on('end',(){fis.end()实战一个爬虫(121:20-////constoriginRequest=require("request");constcheerio=require("cheerio");consticonv=require("iconv-lite");functionrequest(url,callback)constoptionsconstoptions{url:url,encoding:nulloriginRequest(url,}for(leti=100553;i<100563;i++)consturl=`http request(url,function(err,res,body){consthtml=iconv.decode(body,"gb2312");const$=cheerio.load(html);console.log($(".title_allh1").text());}原理:Net模块提供一个异步AP能够创建基于流的CP服务器,客户端与服务器建立连接后,服务器可以获得一个全双工Socet对象,服务器可以保存Sckt对象列表,在接收某客户端消息时,推送给其他客户端。////constnet=constchatServer=net.createServer() List=[] .on('data',data=>{List.forEach(v=>{通过netnetnetlocalhostHttp原理:客户端通过jax方式发送数据给http服务器,服务器缓存消息,其他客户端通过轮询方式查询最新数据并更新列表。<script<script<div<inputv-<buttonv-on:click="send">发送<buttonv-on:click="clear">清空<divv-for="iteminconsthost=varapp=newVue({el:'#app',data:{list:[],methods:'osend:asyncfunction()letres=awaitaxios.post(host+{message:this.list=clear:asyncfunction()letres=awaitaxios.post(host+'/clear')this.list=res.data}mounted:function{setInterval(async(){constres=awaitaxios.get(host+'/list')this.list=res.data},}constconstexpress=require('express')constapp=express()constbodyParser=require('body-parser');constpath=require('path')constlist=['ccc',(req,res)=>{res.sendFile(path.resolve('./index.happ.get('/list',(req,res){app.post(app.post('/send',(req,res){list.push(req.body.message)app.post('/clear',(req,res){list.length=0npminstall--save//服务端://服务端:chat-varapp=varhttp=require('http').Server(app);vario=require('socket.io')(http);app.get('/',function(req,res){res.sendFile(dirname+function(socket){console.log('auserconnected');socket.on('chatmessage',function(msg){console.log('chatmessage:'+//io.emit('chatmessage',////socket.broadcast.emit('chatmessage',function(){console.log('user//<!DOCTYPE<title>Socket.IO*margin:padding:box-sizing:border-}bodyfont:13pxHelvetica,}formbackground:#000;padding:3px;position:fixed;bottom:0;width:}form{border:0;padding:10px;width:90%;margin-right:}form{width:background:rgb(130,224,255);border:none;padding:}#messageslist-style-type:none;margin:0;padding:}#messages{padding:5px}#messagesli:nth-{background:}<ul<form<input
<script $(function()varsocket={e.preventDefault();//socket.emit("chatmessage",returnfalse;socket.on("chatmessage",function(socket.on("chatmessage",function(msg)WebSocketoverFLashXHRPollingXHRMultipartStreamingForever
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024秋新沪科版物理八年级上册教学课件 第三章 光的世界 第一节第1课时 光的直线传播
- 2023年高压成套电器项目融资计划书
- 垃圾分类模考试题(附参考答案)
- 养老院老人生活照顾人员培训制度
- 养老院老人健康监测人员职业道德制度
- 2024年版房地产买卖补充协议:特定条款修订版B版
- 承包包工铁皮房合同(2篇)
- 2024年度五金产品线上线下全渠道营销合同3篇
- 《肺基本病变》课件
- 2024年度养老院食堂运营管理承包合同3篇
- 全国计算机等级考试一级试题及答案(5套)
- 公司安全事故隐患内部举报、报告奖励制度
- 会计学原理智慧树知到期末考试答案章节答案2024年西北农林科技大学
- 新时代大学生劳动教育智慧树知到期末考试答案章节答案2024年江西中医药大学
- 中国玉石及玉文化鉴赏智慧树知到期末考试答案章节答案2024年同济大学
- 信息工建学院项目项目实施方案
- 《背向大地的爱》阅读练习及答案
- 色彩构成7色彩秩序
- 创新管理出亮点安全生产见成效
- 副局长在全市教育系统财会人员培训班上的讲话
- 送电线路弧垂计算器(版权所有,仿者必究)整理
评论
0/150
提交评论