博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一些杂七杂八
阅读量:5031 次
发布时间:2019-06-12

本文共 1869 字,大约阅读时间需要 6 分钟。

从输入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攻击
五.重定向攻击
六.上传文件攻击

转载于:https://www.cnblogs.com/thisxiaojiu/p/6602138.html

你可能感兴趣的文章
一个简单的日志函数C++
查看>>
Java 8 中如何优雅的处理集合
查看>>
IOS程序的启动过程
查看>>
连接Linux下 XAMPP集成环境中部署的禅道的数据库MariaDB
查看>>
Java操作Excel和Word
查看>>
Oracle 体系结构之ORACLE物理结构
查看>>
ORA-12538: TNS: no such protocol adapter
查看>>
盒子模型
查看>>
局域网协议
查看>>
[HNOI2012]永无乡 线段树合并
查看>>
Spring整合hibernate:3、使用XML进行声明式的事务管理
查看>>
SqlServer之Convert 函数应用格式化日期(转)
查看>>
软件测试领域中的10个生存和发展技巧
查看>>
Camera前后摄像头同时预览
查看>>
HDU 1856
查看>>
课堂作业01--架构师的职责
查看>>
iOS计算富文本(NSMutableAttributedString)高度
查看>>
2017/09/15 ( 框架2)
查看>>
Centos下源码安装git
查看>>
gulp-rev-append md5版本号
查看>>