http 学习
网络基础
- IP(Internet Protocol) 网际协议
- TCP(Transmission Control Protocol) 传输控制协议,面向链接的,可靠的协议
- UDP(User Datagram Protocol) 用户数据报协议
- URI(Uniform Resource Identifier) 统一资源定位符
- DNS(Domain Name System) 提供域名与IP地址之间的解析
- 网络分层协议(应用层、传输层、网络层、链路层、物理层)
http请求支持的方法
- GET
- POST
- PUT
- HEAD 获取报文首部
- DELETE
编码提高传输速率
- 压缩传输的内容编码
- gzip(GNU zip)
- compress(UNIX系统标准压缩)
- deflate(zlib)
- identity(identity)
- 分割发送的分块传输编码
http状态码
-
2XX 成功web
- 200 OK
- 204 No Content 请求处理成功但没资源返回
- 206 Partial Content 对资源的某一部分请求
-
3XX 重定向sql
- 301 Moved Permanently 资源的URI已更新,永久性重定向
- 302 Found 资源临时重定向
- 303 See Other 资源URI已更新,303状态码明确表示客户端应该采用GET方法获取资源
- 304 Not Modified 服务端资源未改变,能够直接使用能够的未过时的缓存
-
4XX 客户端错误shell
- 401 Bad Request 客户端错误,通常是参数格式错误
- 401 Unauthorized 没有权限
- 403 Forbidden 禁止访问
- 404 Not Found 资源未找到
-
5XX 服务端错误浏览器
- 500 Internal Server Error
- 502 Bad Gateway 网关或代理服务器错误
- 503 Service Unavaliable 服务端没法处理请求
代理
接受客户端请求转发给服务端,利用缓存技术减小网络带宽的流量,组织内部针对特定网站的访问控制,以获取访问日志为主要目的缓存
- 缓存代理 预先将资源的副本保存在代理服务器上
- 透明代理 不对报文作任何加工
HTTP首部
-
通用首部安全
- Cache-Control 指定缓存机制
- Connection 管理持久链接
- Date http报文建立的日期和时间
- Pragma: === Cache-Control
- Transfer-Encoding 传输报文主体时采用的编码方式,仅对分块传输编码有效
-
请求首部服务器
- Accept 通知服务器用户代理可以处理的媒体类型及媒体类型的相对优先级
- Accept-Charset 通知服务器用户代理支持的字符集以及字符集的优先顺序
- Accept-Encoding 告知服务器用户代理支持的内容编码及内容编码的优先顺序(gzip, compress, deflate)
- Accept-Language 告知服务器用户可以处理的天然语言以及优先级
- Authorization 告知服务器用户代理的认证信息
- Expect
- Form
- If-Match
- If-Modified-Since
- If-Range
- If-Unmodified-Since
- Max-Forwords 指定通过服务器的最大数目
- Proxy-Authorization
- Range 请求的范围
- Referer 请求原始资源的URL(网站的url)
- TE 客户端能处理的编码方式以及相对优先级
- User-Agent 建立请求的浏览器和代理的名称
-
响应首部cookie
- Accept-Ranges
- Age 源服务器在多久前建立了资源
- ETag
- Loation
- Proxy-Authenticate
- Retry-After 告知客户端多久以后再次发送请求
- Server 服务器应用程序的信息
- Vary 对缓存进行控制
-
实体首部字段网络
- Allow 通知客户端请求资源指定的方法
- Content-Ecoding 实体主体的编码方式
- Content-Language 实体主体使用的天然语言
- Content-Length 实体主体部分的大小
- Content-Location 报文主体部分相对应的URI
- Content-MD5
- Content-range 告知客户端做为相应返回的实体的哪一个部分符合范围请求
- Content-Type 实体主体内对象的媒体类型
- Expires 资源失效日期
- Last-Modified 资源最终修改时间
-
为Cookie服务的首部字段session
- Set-Cookie 开始状态管理所使用的cookie信息
- Cookie 保存在用户本地,服务器接受到的cookie信息
HTTPS
-
HTTP缺点
- 通讯使用明文(不加密),内容可能会被窃听
- 不验证通讯方的身份,所以有可能遭遇假装
- 没法证实报文的完整性,因此有可能遭遇假装
- 没法证实报文的完整性,因此有可能已遭篡改
-
HTTPS(HTTP secure)
-
HTTPS缺点
- 通讯慢 除了http请求还行进行ssl通讯,总体处理通讯量增长
- 大量消耗cpu和内存资源,致使处理速度变慢, 对报文加解密消耗资源
用户身份验证
web攻击技术(web安全)
-
因输出值转义不彻底引起的安全漏洞
- 跨站脚本攻击
- sql注入攻击
- os命令注入攻击
- http首部注入攻击
- 在响应首部字段内插入换行,添加任意响应首部或主题的一种攻击
- 邮件首部注入攻击
- 目录遍历攻击
- 对本无心对外公开的目录,经过非法截断期路径后,达成访问目的的攻击(可以使用../等相对路径定位到绝对路径)
- 远程文件包含漏洞
- 当部分脚本内容须要从其余文件读入时,攻击者利用指定外部服务器的url充当依赖文件,让脚本读取以后运行任意脚本
-
设计上的缺陷引起的安全漏洞
-
因会话管理疏忽引起的安全漏洞
-
其余安全漏洞