HTTP 相关面试题汇总

我这里整理了几个比较经典的 HTTP 面试题,希望大家看后有所收获。

但是面试题只能让我们知其然,学习不仅仅是为了面试,所以我们还要做到知其所以然,强烈建议大家先看下 以下几篇 HTTP 系列文章。

数据在网络中如何传输的

当我们在浏览器访问某个网址时,这背后会发生什么呢?

一文了解 HTTP

HTTP 报文详解

为什么 HTTPS 比HTTP 更安全?HTTPS如何保证数据传输安全性

相信你看完这几篇文章后再来看下面这些面试题,会更能理解整个 HTTP 知识点,这样即使你没有看我这归纳的几篇面试题,也可以做到游刃有余。

HTTP 1.0 和 HTTP 1.1 的主要区别是什么?

  1. 长连接: HTTP/1.0 不支持长连接,使用的是短连接,也就是说每次请求都要重新建立连接,HTTP 是基于 TCP/IP 协议,所以每次都需要进行三次握手和四次挥手来建立连接和断开,开销会比较大。

    HTTP/1.1 支持长连接,长连接默认是开启的,通过报文头 Connection: keep-alive 这个来设置。

  2. 新增错误状态响应码及请求方法:HTTP/1.1 增加了增加了OPTIONS,PUT, DELETE, TRACE, CONNECT 这些 Request方法,同时新增了24个错误状态响应码,如 409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。

  3. 新增 HOST域:HTTP/1.1在 request 消息头多了一个 HOST 域,这个是必传的,HTTP/1.0 没有这个域。

    如果请求消息中没有就会报告一个错误(400 Bad Request)。

  4. 带宽优化:HTTP/1.0 中存在一些浪费带宽的现象,例如客户端只需要资源的一部分,服务器会将整个资源都返回回来。

    HTTP/1.1 在请求中引入了 range 报文头字段,致辞只请求资源的某个部分。

  5. 缓存处理:在 HTTP1.0 中主要使用 header 里的 If-Modified-Since,Expires 来做为缓存判断的标准,HTTP1.1 则引入了更多的缓存控制策略例如 Entity tag,If-Unmodified-Since, If-Match, If-None-Match 等更多可供选择的缓存头来控制缓存策略。

HTTP 和 HTTPS 的区别

  1. 端口:HTTP 默认使用的是 80 端口,HTTPS 默认使用的是 443 端口。
  2. 安全性:HTTP 协议所有传输都是明文传输,信息容易被遭到窃取,HTTPS 加了 SSL/TLS 协议,所有的传输内容经过加密及安全认证,保证了数据传输的安全性。

URI 和 URL 的区别是什么?

  1. URI 是统一资源标志符,可以唯一标识一个资源。

  2. URL 是统一资源定位符,可以提供该资源的路径,它相当于一种具体的 URI,它即能标识一个资源,也能指明这个资源的具体路径。

    可以这样比喻,URI 相当于你的身份证号,URL 相当于你的家庭住址,根据你的家庭住址及名字就能定位你这个具体的人。

各种协议与 HTTP 协议之间的关系

各种协议与HTTP协议之间的关系

HTTP 各种 响应状态码

状态码

具体的响应状态码不再展开,大家可以自行去简单了解下。但上图每种类别的状态码需要牢记。

cookie 和 session 的区别

Cookie 和 Session 都是用来跟踪浏览器用户身份的会话方式,但是两者的应用场景不太一样。

Cookie 一般用来保存用户信息 比如 ① 我们在 Cookie 中保存已经登录过得用户信息,下次访问网站的时候页面可以自动帮你登录的一些基本信息给填了;② 一般的网站都会有保持登录也就是说下次你再访问网站的时候就不需要重新登录了,这是因为用户登录的时候我们可以存放了一个 Token 在 Cookie 中,下次登录的时候只需要根据 Token 值来查找用户即可(为了安全考虑,重新登录一般要将 Token 重写);③ 登录一次网站后访问网站其他页面不需要重新登录。Session 的主要作用就是通过服务端记录用户的状态。 典型的场景是购物车,当你要添加商品到购物车的时候,系统不知道是哪个用户操作的,因为 HTTP 协议是无状态的。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了。

Cookie 数据保存在客户端(浏览器端),Session 数据保存在服务器端。

Cookie 存储在客户端中,而 Session 存储在服务器上,相对来说 Session 安全性更高。如果要在 Cookie 中存储一些敏感信息,不要直接写入 Cookie 中,最好能将 Cookie 信息加密然后使用到的时候再去服务器端解密。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员蛋蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值