3

1.HTTP协议介绍

定义:超文本传输协议,用于将Web服务端的HTML响应到本地浏览器的协议
请求报文格式

  • 请求行:请求方法 + URL + 协议/版本号
  • 请求头部:浏览器告知给服务端的属性信息
  • 空行
  • 请求主体:请求相关的数据信息(参数等)

响应报文格式

  • 响应行:协议/版本号 + 状态码 + 描述信息
  • 响应头部:服务端告知浏览器的属性信息
  • 空行
  • 响应主体:响应数据(html文件等)

2.常见状态码

  • 400:bad requst - 通常是请求语法问题
  • 403:forbidden - 认证授权未通过
  • 404:not found - 资源不存在
  • 500:Internal server error - 不可预期的错误
  • 502:gateway bad - 收到后端无效响应
  • 503:service unavaible - 无法处理客户端请求
  • 504:gateway timeout - 无法收到后端响应
  • 499:认为是不安全的连接,主动拒绝了客户端的连接

3.GET和POST方法区别

  1. 数据存储位置:Get方法放在URL中;Post方法放到body中
  2. 数据大小限制:浏览器对URL长度有限制
  3. 获取变量方式:Get方法使用Request.QueryString获取;Post方法使用Request.Form来获取变量
  4. 安全性:用户名和密码等参数出现在URL上存在安全隐患

4.HTTP1.1和HTTP2.0的区别

  1. 多路复用:连接共享机制让一个连接让可以有多个request请求,服务端通过request请求id区分后让不同的服务端进行响应,让原本的串行的请求-响应模式变为并行,提高传输处理效率
  2. 二进制格式:让原本基于文本格式的解析方法变为二进制格式的解析方法,以此来提高解析报文的健壮性
  3. header压缩:通过缓存头部字段来减少传输大小和避免重复发送header字段问题
  4. 服务端推送:服务端还没有收到浏览器的请求,就把所有相关资源推送给浏览器,以此提高性能

长连接:同一个TCP连接可以承载多个http请求和响应;而多路复用指的是同一个http连接可以共享

4.Cookie和Session

无状态:服务端对事务没有处理能力,面对同一个浏览器的两次请求只能处理但不会记忆(登录问题)
联系:都是会话保持技术即对事务有处理能力并且Session依赖于Cookie
区别:Cookie存储在浏览器中而Session存储在服务端

5.HTTPS协议工作流程

介绍:基于HTTP协议,通过SSL/TLS提供加密处理数据、验证对方身份以及数据完整性保护
工作流程:a) 非对称加密后的加密密钥;b)对称加密传输数据

  1. 建立TCP连接
  2. 浏览器发送http请求
  3. 服务端发送数字证书(公钥)
  4. 浏览器验证证书合法性
  5. 浏览器生成加密密钥
  6. 浏览器使用证书加密“加密密钥”之后发送给服务端
  7. 服务端使用自己的私钥解密之后得到“加密密钥”
  8. 服务端将数据加密之后发送给浏览器
  9. 浏览器解密之后获取响应数据

6.其他

6-1.SSL协议中的握手协议

6-2.HTTPS协议的优缺点


英格拉姆浩
40 声望12 粉丝

面对焦虑,认识自我,提升技术