字数总计:1.1k|阅读时长: 3 分钟| 阅读量:
第1-4章 HTTP基础
- web为知识共享而规划;
- 计算机网络分层:
- 应用层:(HTTP, FTP, DNS, SMTP);
- 传输层:(TCP, UDP);
- 网络层:(IP);
- 数据链路层:以太网;
- 物理层:
- HTTP方法:
- GET: 获取资源;
- POST: 传输文件;
- PUT: 传输文件;
- HEAD: 获得报文首部,用以确认资源有效性及资源更新日期等;
- DELETE: 删除文件;
- OPTIONS: 询问支持的方法;
- TRACE: 追踪路径;
- CONNECT: 要求用隧道协议连接代理;
- 四种常见的 POST 提交数据方式:
- application/x-www-form-urlencoded (默认):
- 参数形式:提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码;
- multipart/form-data:
- 使用表单上传文件时;
- Content-Type 里指明了数据是以 mutipart/form-data 来编码,本次请求的 boundary 是什么内容;
- 参数形式:消息主体里按照字段个数又分为多个结构类似的部分,每部分都是以 –boundary 开始,紧接着内容描述信息,然后是回车,最后是字段具体内容(文本或二进制)。如果传输的是文件,还要包含文件名和文件类型信息。消息主体最后以 –boundary– 标示结束。
- application/json:
- 各大浏览器都原生支持 JSON.stringify;
- 可以方便的提交复杂的结构化数据,特别适合 RESTful 的接口;
- 参数形式:{“title”:”test”,”sub”:[1,2,3]}
- text/xml:
- 它是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范;
- XML 结构还是过于臃肿,一般场景用 JSON 会更灵活方便;
- 持久连接:
- Connection: keep-alive; 一次TCP连接,多次HTTP请求(串行);
- pipelining: 同一个TCP连接的HTTP请求用并行方式发送;
- HTTP报文:
- 分类:请求报文和响应报文;
- 结构:报文首部 + 空行(CR+LF) + 报文主体;
- HTTP状态:
- 1XX:接收的请求正在处理;
- 2XX:请求正常处理完毕;
- 3XX:请求需要进行附加操作以完成请求(重定向);
- 304 Not Modified
- 4XX:接收的请求正在处理;
- 400 Bad Request: 请求报文中存在语法错误;
- 401 Unauthorized
- 403 Forbidden: 资源访问被服务器拒绝了;
- 404 Not Found
- 5XX:接收的请求正在处理;
- 500 Internal Server Error
- 503 Server Unavailable:服务器正忙,无法处理请求;
第5章 与HTTP协作的web服务器
- 单台虚拟机实现多个域名:利用HTTP REQUEST头部的host字段区分;
- 通信数据转发程序:
- 代理:请求代理;
- 网关:能使通信线路上的服务器提供非HTTP协议服务;
- 隧道:SSL加密手段通信;
- 缓存:客户端缓存,服务器端缓存;
第6章 HTTP首部
- 首部字段(P80概览);
- 四种缓存的优先级:cache-control > expires > etag > last-modified
第7章 HTTPS(加密 + 认证 + 完整性保护)
- HTTPS = HTTP + SSL;
- 公开密钥 + 共享密钥 的加密方式;
- 权威第三方认证证书保证公开密钥的可靠性;
- SSL加密解密慢,所以只用在交换共享密钥的时候用HTTPS方式,之后就用共享密钥加密;
第8章 确认用户身份认证
- BASIC认证;
- digest认证;
- SSL客户端认证;
- 基于表单认证;
第9章 基于HTTP的功能追加协议
- 消除HTTP瓶颈的SPDY:多路复用,压缩头部,推送功能;
- 双工通信:WbSocket;
- HTTP/2.0;
第10章 构建Web内容的技术
第11章 web的攻击技术
- 因输入/输出值转义不完全引发的安全漏洞:
- SQL注入;
- 跨站脚本攻击(XSS) + 会话劫持[1.DOM型; 2.存储型]]:利用没转义的输出构建script标签,将用户信息发送给自己的服务器,获取用户数据(cookie),就可以伪装成用户发送请求了;参考*
- 跨站点请求伪造(CSRF):利用img.src的属性,在用户不知情的情况下,发送请求(如购物);参考
- 其他安全漏洞:
- 密码破解:穷举法,字典攻击;
- 点击劫持(iframe透明覆盖);
- Dos攻击:利用大量请求造成资源过载;
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 果实的技术分享!