网络基础
TCP/IP 协议族
TCP/IP是互联网相关的各类协议族的总称,HTTP属于它内部的一个子集
TCP/IP 的分层管理
TCP/IP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层
- 应用层:FTP协议
(文件传输协议)
、DNS(域名系统)
、HTTP协议
HTTP协议的职责是生成针对目标Web服务器的HTTP请求报文
- 传输层:TCP协议
(传输控制协议)
、UDP(用户数据报协议)
TCP协议的职责是将HTTP请求报文分割成报文段,按序号分为多个报文段
- 网络层:网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位
IP协议的职责是找到通信目的地的MAC地址后转发给链路层
- 链路层:用来处理连接网络的硬件部分
HTTP协议
请求方法
GET:获取资源
POST:传输实体主体
PUT:传输文件
DELETE:删除文件
HEAD:获取报文首部
OPTIONS:询问支持的方法
TRACE:追踪路径
CONNECT:要求用隧道协议连接代理
HTTP报文
报文首部
请求报文
请求行:方法、URI、HTTP版本 请求首部字段 通用首部字段 实体首部字段 其他
响应报文
状态行:HTTP版本、状态码 响应首部字段 通用首部字段 实体首部字段 其他
状态码
1XX
(信息性状态码)
:接收的请求正在处理2XX
(成功状态码)
:请求正常处理完毕3XX
(重定向状态码)
:需要进行附加操作以完成请求4XX
(客户端错误状态码)
:服务器无法处理请求5XX
(服务端错误状态码)
:服务器处理请求出错
与HTTP协作的Web服务器
DNS服务器
网关服务器
代理服务器
缓存服务器
隧道服务器
确保Web安全的HTTPS
HTTP协议中没有加密机制,但可以通过和SSL
(安全套接层)
或TLS(安全传输层协议)
的组合使用,加密HTTP的通信内容。与SSL组合使用的HTTP被称为HTTPS。
HTTP+加密+认证+完整性保护=HTTPS
共享密钥加密
加密和解密用同一个密钥的方式称为共享密钥加密
公开密钥加密
使用一对非对称的密钥。一把叫做私有密钥,另一把叫做公有密钥
使用公开密钥加密的方式,发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有密钥进行解密。利用这种方式,不需要发送原来解密的私有密钥,也不必担心密钥被攻击者窃听盗走
HTTPS采用共享密钥加密和公开密钥加密两者并用的混合加密机制
在交换密钥环节使用公开密钥加密方式,之后的建立通信交换报文阶段则使用共享密钥加密方式
使用由数字证书认证机构和其相关机关颁发的公开密钥证书证明公开密钥的正确性
1 | 为什么不一直使用HTTPS? |
基于HTTP的功能追加协议
为解决HTTP协议的瓶颈追加的一些功能协议
AJAX:异步加载
Comet:服务端推送
SPDY:在应用层与传输层之间新增会话层
多路复用流 赋予请求优先级 压缩HTTP首部 推送功能 服务器提示功能
WebSocket:使用浏览器进行全双工通信
推送 减少通信量
WebDAV:可对Web服务器上的内容直接进行文件复制、编辑等操作的分布式文件系统
构建Web内容的技术
HTML
动态HTML
CGI:是指Web服务器在接收到客户端发送过来的请求后转发给程序的一组机制
Servlet
XML
RSS:和Atom都是发布新闻或博客日志等更新信息文档的格式的总称
JSON
Web的攻击技术
跨站脚本攻击
SQL注入攻击
OS命令注入攻击
HTTP首部注入攻击
目录遍历攻击
强制浏览
不正确的错误消息处理
会话劫持
会话固定攻击
跨站点请求伪造
密码破解
DoS攻击:让运行中的服务呈停止状态的攻击
参考文献
- 【图解HTTP】书籍