Http Https
http https什么是协议?网络协议是计算机之间为了实现网络通信而达成的一种“约定”或者”规则“,有了这种”约定“,不同厂商的生产设备,以及不同操作系统组成的计算机之间,就可以实现通信。
什么是httphttp(超文本传输协议),运行在TCP/IP协议(网络层协议)之上,是应用层协议,主要解决如何包装数据
发展历史从上个世界90年代发布以来,http的版本主要有0.9、1.0、1.1、2.0、3.0
具体有什么区别,可以参考我另一篇博客
http报文上面已经说到http最主要的目的就是包装数据,他是通过http报文来把数据进行包装然后传递,http报文由首部,报文主体两个部分组成,首部和报文主体通过一行,报文结构如下,根据首部中的开始行不同分有请求报文和响应报文
首部
(空行)
报文主体
请求报文/响应报文请求报文由三大部分组成,请求行,消息报头,请求正文
响应报文也由三大部分组成,状态行,消息报头,响应正文
常见状态码
2XX(成功)
200 成功获取服务器数据
204 no content,请求成功,没有数据返回
3XX(重定向)
...
Js和jq动态添加和删除元素
## js和jq动态添加和删除元素js部分:
添加元素
123var div = document.createElement('div');var test = document.getElementById('test');test.appendChild(div)
删除元素
123var div = document.getElementsByClassName('divList')[0];var test = document.getElementById('test');test.removeChild(div)
jq部分
结尾添加元素append()
开头添加元素prepend()
在某个元素前添加元素before()
在某个元素之后添加元素after()
删除元素remove()
清空元素empty()
Js宽松比较中的类型转换(x==y)
## js宽松比较中的类型转换(x==y)
字符串和数字之间的比较
x是数字,y是字符串,返回x==ToNumber(y)
x是字符串,y是数字,返回ToNumber(x)==y
其他类型和布尔型之间的比较
x是其他类型,y是布尔型,返回x==ToNumber(y)
x是布尔型,y是其他类型,返回ToNumber(x)==y
null和undefined之间的比较
不论x,y的位置,都返回true
对象和非对象之间的比较
x是字符串或数字,y是对象,返回x==Toprimitive(y)
x是对象,y是字符串或数字,返回Toprimitive(x)==y
注意:在强转换过程中,[2].toString() ===2, [null].toString()===""
算法细节:
ReturnIfAbrupt(x).
ReturnIfAbrupt(y).
If Type(x) is the same as Typ ...
Link和@import之间的区别
link和@import都可以导入css样式,但是他们之间有什么区别?区别:1.link不仅可以导入样式表,还可以导入其他如如favicon,但@import只能导入样式表2.link是XHTML语法,不存在兼容问题,但是@import是在css2.1才提出,在IE5+后才支持,所以对低版本的浏览器不兼容3.可以通过 JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使用@import的方式插入样式。4.link是在页面加载的的同时一起加载的,@import是页面加载完毕后才加载的5.link引入的样式权重大于@import引入的样式(有争议)
关于5,link的权重比@import的大,说法应该是不正确的(如果有其他看法欢迎评论留言)。我写了个很简单的demo
123456789101112131415161718192021<html lang="en"><head> <meta charset="UTF-8"> <meta name="vi ...
Node搭建静态服务器,解决node跨域
需要一个serve-static模块,可以用npm或者cnpm下载1.使用express模块框架
12345678910111213141516171819202122232425262728293031323334353637var express = require('express')var serveStatic = require('serve-static')var url = require("url")var app = express()app.use(serveStatic(__dirname, { 'index': ['demo.html', 'demo.htm'] }))//放图片资源// app.use(serveStatic(__dirname+"/img"))app.get('/',function(req,res){ console.log('url ...
Node搭建静态服务器时,无法加载静态html
关于在node搭建静态服务器的时候,发现无法加载静态的html,直接返回的是res.end()里面的内容
123456789101112var server = http.createServer(function (req, res) { let pathname = url.parse(req.url).pathname let query = changeObj(url.parse(req.url).query) console.log(pathname,query); if(pathname == "/"){ res.end("ss") } else if(pathname == "/require"){ res.end("/require") } serve(req, res, finalhandler(req, res))})
原因是在这段代码
123if(pa ...
Npm Link的简单应用
npm link的简单应用一个项目中,会使用很多依赖,大部分依赖都是开源的第三方依赖,甚至于会有自己造轮子开发的依赖在项目中,这时候就会出现一种情况,比如我又一个自己开发的项目A,在这个项目中使用了一个自己造的轮子依赖B,他们一直相安无事相处了很久,但是有一天我对这个轮子依赖B进行了一些功能性的添加,但是我不知道这次的功能增加是否会对我的项目A产生不兼容影响,所以我需要测试一下。
那么我们有什么测试方法呢?
一种最不推荐的方法
把我们修改后的轮子依赖B发布一个beta版本
在我们的项目A中安装这个beta版本
测试
这会有什么问题呢
优点:我觉得没有优点
缺点:麻烦
一种相对可行的方法
在项目A中通过相对路径安装依赖B
测试
这会有什么问题呢
优点:简单(对于不知道npm link的情况下)
缺点:如果测试发现有问题,可能多次微调依赖B,需要多次install
这就好比远程代码,在没有远程代码的时候,我需要每次都要把代码存放到指定仓库,然后换设备后再去仓库拉代码,可以但是也麻烦
一种推荐的方法
在项目A中使用软链npm link 依赖B的路径
测试
此时修改是直接同步的, ...
spring报错_org.springframework.web.util.NestedServletException
今天在写实验报告,遇到一个问题在开启服务器时报404手动输入地址后报500仔细看一下500页面的报错信息,发现了这个提示java.lang.IllegalStateException: Optional int parameter 'cno' is present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type.应该是web.xml中信息有误检查后发现,在配置前端控制器时候命名不规范, studentmanage应该是dispatcherServlet<welcome-file>也要修改成对应的名字
1234567891011121314<servlet> <servlet-name>studentmanage</servlet-name> & ...
Vue微信网页登录
最近做的h5项目中有一个微信登录功能,将自己遇到的一些坑记录一下
前提:
一个公众号
appid
首先就是在自己的vue项目中引入微信的接口 <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
接着我们就可以在自己的login.vue中调用微信函数WxLogin
在login.vue中的mounted
123456var obj = new WxLogin({ id:"div", //div的id appid: "公众号里的appid", scope: "snsapi_login", redirect_uri: "http%3a%2f%2f96ac7d.natappfree.cc%2f%23%2fjump",//urlencod ...
vue+vant+koa2+MongoDB实现注册功能
最近学了一下koa2和MongoDB,写个注册功能更加熟悉一下
首先,用vue+vant把注册页面写出来
1.Vue方面都是一些很常用的知识点,vant是一个比较适用于移动端的UI组件库,而element-ui更加适合h5网页版
register.vue
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758<template> <div> <van-nav-bar title="用户注册" left-text="返回" left-arrow @click-left="goBack" /> <div class="register-panel"> <van-field type="text" label="用 ...