HTTP 测验

今天是本学期后端组的最后一次值班,明灿进行了HTTP 测验,测试的参考是《图解HTTP》

本文对部分测试内容做些记录


使用代理服务器的理由

  • 利用缓存技术减少网络带宽的流量
  • 组织内部针对特定网站的访问控制
  • 以获取访问日志为主要目的

代理的两种基准分类

  • 是否使用缓存
  • 是否会修改报文

缓存代理

代理转发响应时,缓存代理(Caching Proxy)会预先将资源的副本(缓存)保存在代理服务器上

当代理再次接收到对相同资源的请求时,就可以不从源服务器那里获取资源,而是将之前缓存的资源作为响应返回

透明代理

转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理(Transparent Proxy)。反之,对报文内容进行加工的代理被称为非透明代理

虚拟主机用来解决什么问题?怎么解决的?

  • 使用一台HTTP服务器搭建多个站点(比如为每位客户持有的域名运行各自不同的网站)

  • 在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的网站,因此在发送HTTP请求时,必须在Host首部内完整执行主机名或域名的URI

写出以下四行HTTP首部字段的分类标准,并说明各字段的作用

  • Cache-control Connection Data Via
  • Accept Host if-Modified-Since User-Agent
  • Age Location Server
  • Content-type Allow Last-Modified Expires

这个问题过段时间会给出答案

HTTP协议有哪些不足

  • 通信使用明文(不加密),内容可能会被窃听
  • 不验证通信方的身份,因此有可能遭遇伪装
  • 无法证明报文的完整性,所以有可能已遭篡改

Cookie的作用及其工作原理

  • 保留HTTP协议无状态这个特征的同时,解决无状态协议的痛点(管理、控制客户端状态)
  • Cookie会根据从服务端发送的响应报文的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去

Cookie共享


写在最后

  • 《图解HTTP》是我很久以前看的,当时限于自身水平以及应用开发经验有限,理解十分粗浅
  • 近期准备重看
关注我的微信公众号[李一二],即时看更多的文章