从输入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.地址解析,域名解析系统dns2.封装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:输入了错误的URL500 Internal Server Error //服务器发生不可预期的错误503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
前端性能优化
html部分:语义化html:使代码简洁清晰,支持不同设备,利于搜索引擎,便于团队开发css部分:
避免使用css表达式使用css sprites,减少图片请求减少查询层级删除重复的cssjs部分
尽量少用全局变量避免频繁操作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和provider4.模块化设计 高内聚低耦合法则web网站常见的受攻击方式及解决办法
1.跨站脚本攻击xss常见解决办法:确保输出到html页面的数据以html的方式被转义2.跨站请求伪造攻击csrf解决的思路有: 1.采用POST请求,增加攻击的难度.用户点击一个链接就可以发起GET类型的请求。而POST请求相对比较难,攻击者往往需要借助javascript才能实现 2.对请求进行认证,确保该请求确实是用户本人填写表单并提交的,而不是第三者伪造的.具体可以在会话中增加token,确保看到信息和提交信息的是同一个人三.Http Heads攻击四.Cookie攻击五.重定向攻击六.上传文件攻击