随着互联网的高速发展,基于web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在web平台上,web业务的迅速发展也引起黑客们的强烈关注,接踵而来的就是web安全威胁的凸显。
黑客利用网站操作系统的漏洞和web服务程序的SQL注入漏洞等得到web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。
这也使得越来越多的用户关注应用层的安全问题,对web应用安全的关注度也逐渐升温。
一、Web基础知识
1.http协议
超文本传输协议是互联网上应用最广泛的一种网络协议。所有www文件都必须遵守的一个标准,是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范,简单点说就是一种固定的通讯规则。
2.网络三种架构及特点
网络应用程序架构包括三种:
- 客户机/服务器结构(C/S)
- 浏览器/服务器结构(B/S)
- P2P结构
C/S架构
需要安装特定的客户端程序
针对不同平台开发不同版本
升级应用需重新安装
能够直接使用客户端硬件资源
B/S架构
客户端无需安装,有Web浏览器即可
跨平台能力
无缝升级,客户端免维护
P2P架构
点到点系统,不需要服务器中转,客户端与客户端彼此直接通信
3. Web应用的特点
应用是图形化和易于导航的,能够在页面显示色彩丰富的图形和文本。
应用与平台无关,可以使用任何平台通过internet访问。
Web应用是分布式的,不同的信息可以放在不同的站点上。
Web应用是动态的,web站点的信息包含站点本身的信息,信息的提供者也可以对网站的信息进行更新。
4.URL组成
Protocol:指定使用的传输协议
hostname:主机名
port:端口号
path:路径
parameters:参数
query:可选,用于给动态网页传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。
fragment:信息片段,字符串,用于指定网络资源中的片断。
5.Http协议的性质
HTTP是简单的
HTTP是可扩展的
HTTP是无状态,有会话的
HTTP是可靠的
6.请求响应报文的格式
HTTP请求报文分为三部分
请求行 请求方法、URL、协议版本等(消息报头)
请求头 由一个头域名、冒号和值域组成
请求体
响应
响应行 协议和状态码 状态码分类
响应头
响应体
7.请求方法
GET POST OPTIONS HEAD PUT DELETE TRACE CONNECT
8.http缓存
缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。这样带来的好处有:缓解服务器端压力,提升性能(获取资源的耗时更短了)。
9.缓存新鲜度如何判断
Web服务器通过2种方式来判断浏览器缓存是否是最新的
1、 Last-Modified和If-Modified-Since
2、 ETags和If-None-Match
10.Http重定向原理以及状态码
在 HTTP 协议中,重定向操作由服务器通过发送特殊的响应(即 redirects)而触发。HTTP 协议的重定向响应的状态码为 3xx 。浏览器在接收到重定向响应的时候,会采用该响应提供的新的 URL ,并立即进行加载;大多数情况下,除了会有一小部分性能损失之外,重定向操作对于用户来说是不可见的。
1XX 指示信息
2XX 请求发送成功
3XX 重定向
4XX 客户端发送的请求有语法错误
5XX 服务器错误
11.HTTPS协议 数字证书
HTTPS协议是以安全为目