应用层 http https学习
将之前在幕布整理的http https知识点再学习加深下
http版本
- 1.0 - 每个请求都会触发TCP连接的建立和断开
- 1.1 - 多个请求串行复用一个TCP连接
请求方式
- get - 获取内容
- head - 仅获取报文头
- post - 提交新增内容
- put - 提交更新内容
- delete - 删除内容
- option - 查看服务器性能,设置选项
- tarce - 回显服务器收到的请求,用于诊断测试
SSL_TLS
- 非对称加密
RSA (私钥解密-公钥加密) 非对称在TLS里面主要是身份校验,对称密钥的协商
- 对称加密
AES-CBC,DES 对数据传输内容的加密
- 散列算法
MD5,SHA1(散列算法非加密算法) 数据完整性校验
https流程
- 客户端发起https请求
- 服务端返回CA证书(证书含公钥,公司信息,域名,有效期,证书颁发机构)
- 客户端解析证书,校验其合法性
- 合法性通过后,客户端取出证书里的公钥,生成随机码KEY,用公钥加密KEY发送给服务端
- 服务端使用私钥解密密码KEY,使用密码KEY对称加密传输数据
- 客户端使用密码KEY对称解密收到的加密数据内容
http状态码
- 1XX - 通知
- 101 - continue - 表示目前为止所有的内容正常
- 102 - switching propotols 服务器正在根据发送的upgrade请求头切换到指定协议(http升级websockets)
- 2XX - 成功
- 200 - ok 成功处理请求
- 201 - created 成功创建请求的资源
- 202 - accepted 成功接受请求,请求之后会异步处理
- 203 - non-authoriative information 请求处理成功,返回的内容由变换代理修改
- 204 - no content 请求已成功,但客户端无需离开当前页面
- 3XX - 重定向
- 301 - multiple choices 指示所请求的资源已明确移动到location标题给定的url,永久性转移
- 302 - multiple choices 指示所请求的资源已明确移动到location标题给定的url,暂时性转移
- 303 - see other 返回一个响应文档url,其可能是静态资源也可能是其他资源
- 4XX - 客户端错误
- 400 - bad request 来自客户端错误的请求,服务端不识别
- 401 - unauthorized 没有认证信息或错误的认证信息
- 403 - forbidden 服务器理解请求但拒绝授权,即没有权限
- 404 - not found 服务器找不到请求的资源
- 405 - method not allowed 服务器已经请求方法,但该已被禁用且无法使用
- 406 - confict 请求与服务器当前状态冲突
- 5XX - 服务端错误
- 500 - internal server error 服务器执行请求异常
- 501 - not implmented 请求方法不受服务器支持且无法处理
- 502 - bad gateway 网关服务器收到来自上游服务器的无效响应(nginx)
- 503 - service unavailable 服务器尚未准备好处理请求
- 504 - gateway timeout 网关服务器无法及时得到响应
- 505 - http version not support 服务器不支持请求使用的http版本
转载请注明 from tomsun28