代码改变世界

一些杂七杂八

2017-03-22 21:17  晓九已存在  阅读(129)  评论(0编辑  收藏  举报

从输入url到返回页面的整个过程
输入地址
浏览器查找域名的 IP 地址
这一步包括 DNS 具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存...
浏览器向 web 服务器发送一个 HTTP 请求
服务器的永久重定向响应(从 http://example.com 到 http://www.example.com)
浏览器跟踪重定向地址
服务器处理请求
服务器返回一个 HTTP 响应
浏览器显示 HTML
浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、CSS、JS等等)
浏览器发送异步请求

 

HTTP由请求和响应构成,是一个标准的客户端服务器模型(B/S)。HTTP协议永远都是客户端发起请求,服务器回送响应。
HTTP是一个无状态的协议。无状态是指客户机(Web浏览器)和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息.HTTP遵循请求(Request)/应答(Response)模型。客户机(浏览器)向服务器发送请求,服务器处理请求并返回适当的应答。所有HTTP连接都被构造成一套请求和应答。
HTTP的工作过程:
1.地址解析,域名解析系统dns
2.封装HTTP请求数据包
3.封装成TCP包,建立TCP连接(TCP的三次握手)
4.客户机发送请求命令
5.服务器响应
6.服务器关闭TCP连接

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
常见状态代码、状态描述、说明:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

 

前端性能优化
html部分:
语义化html:使代码简洁清晰,支持不同设备,利于搜索引擎,便于团队开发

css部分:
避免使用css表达式
使用css sprites,减少图片请求
减少查询层级
删除重复的css

js部分
尽量少用全局变量
避免频繁操作dom节点
类型转换

 

angularjs 主要用于构造单页面web应用,配合使用,使web应用开发比以往更简单,更快捷,是构建动态web的结构化框架
angular四大特性
1.MVC模式:model,view,controller 模块-视图-控制器

2.双向数据绑定
方向一:Model--->View

        {{Model数据}} 或<XXX ng-xxx="Model数据"> Model变View跟着变;

方向二:View--->Model

        <表单控件 ng-model="Model数据名"> View变Model跟着变;
3.依赖注入 service和provider
4.模块化设计  高内聚低耦合法则

web网站常见的受攻击方式及解决办法
1.跨站脚本攻击xss
常见解决办法:确保输出到html页面的数据以html的方式被转义
2.跨站请求伪造攻击csrf
解决的思路有:
1.采用POST请求,增加攻击的难度.用户点击一个链接就可以发起GET类型的请求。而POST请求相对比较难,攻击者往往需要借助javascript才能实现
2.对请求进行认证,确保该请求确实是用户本人填写表单并提交的,而不是第三者伪造的.具体可以在会话中增加token,确保看到信息和提交信息的是同一个人
三.Http Heads攻击
四.Cookie攻击
五.重定向攻击
六.上传文件攻击