http相关面试题

本文深入探讨了HTTP协议,包括HTTPS与HTTP的区别、HTTP1和2的改进、TCP与UDP的区别,以及TCP、UDP和HTTP在协议栈中的层级。此外,还讲解了HTTP状态码和前端优化的相关知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、https和http区别

  • https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。
  • http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 SSI 加密传输协议。
  • http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是4436
  • http 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全。

2、http1和2

二进制传输:http2采用二进制传输,相较于文本传输的http1来说更加安全可靠。

多路复用:http1一个连接只能提交一个请求,而http2可以同时处理无数个请求,可以降低连接的占用数量,进一步提升网络的吞吐量

头部压缩:http2通过gzip与compress对头部进行压缩,并且在客户端与服务端各维护了一份头部索引表,只需要根据索引id就可以进行头部信息的传输,缩小了头部容量,间接提升了传输效率。

服务端推送:服务端可以主动推送资源给客户端,避免客户端花过多的时间逐个请求资源,这样可以降低整个请求的响应时间

3、TCP 和 UDP 的区别

1)TCP 是面向连接的,udp 是无连接的即发 送数据前不需要先建立链接
2)TCP 提供可靠的服务。也就是说,通过 TCP 连接传送的数据,无差错,不丢失,
不重复,且按序到达 ;UDP 尽最大努力交付,即不保证可靠交付 。 并且因为 tcp 可靠,
面向连接,不会丢失数据因此适合大数据量的交换。
3)TCP 是面向字节流,UDP 面向报文,并且网络出现拥塞不会使得发送速率降低(因
此会出现丢包,对实时的应用比如 IP 电话和视频会议等)。
4)TCP 只能 是 1 对 1 的,UDP 支 持 1 对 1,1 对多
5)TCP 的首部较大为 20 字节,而 UDP 只有 8 字节。
6)TCP 是面向连接的 可靠性传输 ,而 UDP 是不可靠的。

4、TCP、UDP 和 HTTP 的区别?
TCP/IP 协议栈主要分为四层: 应用层、传输层、网络层、数据链路层,每层都有相应的协议

  • IP:网络层协议; (类似于高速公路)
  • TCP 和 UDP:传输层协议; (类似于卡车)
  • HTTP:应用层协议 ; (类于货物)。HTTP(超文本传输协议)是利用 TCP 在两台电脑(通常是 Web 服务器和客户端) 之间传输信息的协议。客户端使用 Web 浏览器发起 HTTP 请求给 Web 服务器,Web 服务器发送被请求的信息给客户端。

4、强缓存和协议缓存

强缓存 相关字段有 expires,cache-control 。如果 cache-control 与 expires 同时存在的话,
cache-control 的优先级高于 expires。
协商缓存 相关字段有 Last-Modified/If-Modified-Since,Etag/If-None-Match

5、前端优化

降低请求量:合并资源,减少 HTTP 请求数,minify / gzip 压缩,webP,lazyLoad。
加快请求速度:预解析 DNS,减少域名数,并行加载,CDN 分发。
缓存:HTTP 协议缓存请求,离线缓存 manifest,离线数据缓存 localStorage。
渲染:JS/CSS 优化,加载顺序,服务端渲染,pipeline。

6、HTTP状态码

2XX 成功

  • 200 OK,表示从客户端发来的请求在服务器端被正确处理
  • 204 No content,表示请求成功,但响应报文不含实体的主体部分
  • 206 Partial Content,进行范围请求

3XX 重定向

  • 301 moved permanently,永久性重定向,表示资源已被分配了新的 URL
  • 302 found,临时性重定向,表示资源临时被分配了新的 URL
  • 303 see other,表示资源存在着另一个 URL,应使用 GET 方法丁香获取资源
  • 304 not modified,表示服务器允许访问资源,但因发生请求未满足条件的情况
  • 307 temporary redirect,临时重定向,和302含义相同

4XX 客户端错误

  • 400 bad request,请求报文存在语法错误
  • 401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息
  • 403 forbidden,表示对请求资源的访问被服务器拒绝
  • 404 not found,表示在服务器上没有找到请求的资源

5XX 服务器错误

  • 500 internal sever error,表示服务器端在执行请求时发生了错误
  • 503 service unavailable,表明服务器暂时处于超负载或正在停机维护,无法处理请求
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

景尘

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

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

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

打赏作者

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

抵扣说明:

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

余额充值