版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
掌握http了解https->安全了解原理:Net模塊提供一個(gè)異步AP能夠創(chuàng)建基于流的CP服務(wù)器,客戶(hù)端與服務(wù)器建立連接后,服務(wù)器可以獲得一個(gè)全雙工Socet對(duì)象,服務(wù)器可以保存Sckt對(duì)象列表,在接收某客戶(hù)端消息時(shí),推送給其他客戶(hù)端。////constnet=constchatServer=net.createServer() List=[] .on('data',data=>{List.forEach(v=>{通 netnetlocalhostHTTP協(xié)議(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('./ ////或者通過(guò)baseURLaxios.defaults.baseURL='////axios.defaults.baseURL=前端構(gòu)造script請(qǐng)求指定URL(由script發(fā)出的GET請(qǐng)求不受同源策略限制),服務(wù)器返json數(shù)據(jù)。該函數(shù)端執(zhí)行后即可獲取數(shù)據(jù)。 CORS(CrossOriginResourceShare跨域資源共享,后端方案,解決跨域 原理:原理:cors是w3c規(guī)范,真正意義上解決跨域問(wèn)題。它需要服務(wù)器對(duì)請(qǐng)求進(jìn)行檢查并對(duì)響應(yīng)頭做相應(yīng)處理,從而允許跨域請(qǐng)求。響應(yīng)簡(jiǎn)單請(qǐng)求:動(dòng)詞為get/post/head,沒(méi)有自定義請(qǐng)求頭,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")如果要攜 //////預(yù)檢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:對(duì)比一下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"http://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// 寫(xiě)request.on('data',datarequest.on('end',(){fis.end()實(shí)戰(zhàn)一個(gè)爬蟲(chóng)(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模塊提供一個(gè)異步AP能夠創(chuàng)建基于流的CP服務(wù)器,客戶(hù)端與服務(wù)器建立連接后,服務(wù)器可以獲得一個(gè)全雙工Socet對(duì)象,服務(wù)器可以保存Sckt對(duì)象列表,在接收某客戶(hù)端消息時(shí),推送給其他客戶(hù)端。////constnet=constchatServer=net.createServer() List=[] .on('data',data=>{List.forEach(v=>{通過(guò)netnetnetlocalhostHttp原理:客戶(hù)端通過(guò)jax方式發(fā)送數(shù)據(jù)給http服務(wù)器,服務(wù)器緩存消息,其他客戶(hù)端通過(guò)輪詢(xún)方式查詢(xún)最新數(shù)據(jù)并更新列表。<script<script<div<inputv-<buttonv-on:click="send">發(fā)送<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//服務(wù)端://服務(wù)端: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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024葡萄酒年份酒經(jīng)銷(xiāo)商售后服務(wù)與銷(xiāo)售合同3篇
- 2024藥品質(zhì)量檢驗(yàn)與監(jiān)管合同
- 二零二四年委托創(chuàng)作合同:原創(chuàng)音樂(lè)作品委托創(chuàng)作協(xié)議
- 二零二五年度綠色復(fù)墾土地流轉(zhuǎn)合同模板3篇
- 二零二五年度大巴車(chē)租賃與綠色出行宣傳合同3篇
- 2025年度餐飲店食品安全風(fēng)險(xiǎn)評(píng)估合同9篇
- 二零二四年三人共同投資大數(shù)據(jù)科技公司合同3篇
- 2025年度鐵路旅游列車(chē)運(yùn)營(yíng)管理合同3篇
- 2025年度綠色家居產(chǎn)品認(rèn)證服務(wù)合同簡(jiǎn)易版2篇
- 2024年環(huán)境工程監(jiān)理研發(fā)合同
- 專(zhuān)升本英語(yǔ)閱讀理解50篇
- 施工單位值班人員安全交底和要求
- 中國(guó)保險(xiǎn)用戶(hù)需求趨勢(shì)洞察報(bào)告
- 數(shù)字化轉(zhuǎn)型指南 星展銀行如何成為“全球最佳銀行”
- 中餐烹飪技法大全
- 靈芝孢子油減毒作用課件
- 現(xiàn)場(chǎng)工藝紀(jì)律檢查表
- 醫(yī)院品管圈與護(hù)理質(zhì)量持續(xù)改進(jìn)PDCA案例降低ICU病人失禁性皮炎發(fā)生率
- 新型電力系統(tǒng)研究
- 烘干廠股東合作協(xié)議書(shū)
- 法院服務(wù)外包投標(biāo)方案(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論