HTTP协议基础
- 静态WEB
- 动态WEB
- 应用程序
- 数据库
- 每人看到的内容不同
- 根据用户输入返回的不同结果
- Web攻击类型有数百种
- Network------网络
- OS------操作系统
- Web Server------服务器端
- App Server------服务器端软件
- Web Application------中间件软件
- Database-----数据库
- Browser------浏览器
- 明文
- 无内建的机密性安全机制
- 嗅探或代理截断可查看全部明文信息
- https只能提高传输层安全
- 无状态
- 每一次客户端和服务器端的通信都是独立的过程
- WEB应用需要跟踪客户端会话(多步通信)
- 不适用cookie的应用,客户端每次请求都要重新身份验证(不现实)
- Session用于在用户身份验证后跟踪用户行为轨迹
- 提高用户体验,但增加了攻击向量
- Cycle
- 请求 / 响应
- 重要的header
- Set-Cookie:服务器发送客户端的SessionID(被窃取的风险)
- Content-Length:响应body部分的字节长度
- Location:重定向用户到另一个页面,可识别身份认证后允许访问的页面
- Cookie:客户端发回给服务器证明用户状态的信息(头:值成对出现)
- Referrer:发起请请求之前用户位于哪个页面,服务器基于此头的安全限制很容易被修改绕过
- 服务端响应的状态码表示响应的结果类型(5大类50多个具体响应码)
- 100S:服务器响应的信息,通常表示服务器还有后续处理,很少出现
- 200S:请求被服务器成功接收并处理后返回的响应结果
- 300S:重定向,通常在身份认证成功后重定向到一个安全页面(301/302)
- 400S:表示客户端请求错误
- 401:需要身份验证‘
- 403:拒绝访问
- 404:目标未发现
- 500S:服务器内部错误(503:服务不可用)
HTTP/1.1: Status Code Definitions
推荐阅读
- 什么是web渗透
- Python异步之aiohttp
- 旧安卓机别扔了,自制 Web 服务器了解一下!
- 傻傻分不清的TCP keepalive和HTTP keepalive
- nginx web负载均衡配置
- GitLab 技术选型为何不同:坚持用 Web 框架十多年、坚决不用微服务
- Wireshark教程:解密HTTPS流量
- 字节跳动开源 Go HTTP 框架 Hertz 设计实践
- 哪些后端框架对 Web 应用程序开发产生了巨大的影响?
- 互联网|中国美国忙了半天 结果非洲先进入Web3