【跳槽面试】一份tcp、http面试指南,常考点都给你了

这篇具有很好参考价值的文章主要介绍了【跳槽面试】一份tcp、http面试指南,常考点都给你了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TCP

要说http就绕不开tcp,TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。但是,http是基于tcp协议的。

TCP/IP 协议分层模型

  • 物理层将二进制的0和1和电压高低,光的闪灭和电波的强弱信号进行转换

  • 链路层代表驱动

  • 网络层

  • 使用 IP 协议,IP 协议基于 IP 转发分包数据

  • IP 协议是个不可靠协议,不会重发

  • IP 协议发送失败会使用ICMP 协议通知失败

  • ARP 解析 IP 中的 MAC 地址,MAC 地址由网卡出厂提供

  • IP 还隐含链路层的功能,不管双方底层的链路层是啥,都能通信

  • 传输层

  • TCP 协议面向有连接,能正确处理丢包,传输顺序错乱的问题,但是为了建立与断开连接,需要至少7次的发包收包,资源浪费

  • UDP 面向无连接,不管对方有没有收到,如果要得到通知,需要通过应用层

  • 通用的 TCP 和 UDP 协议

  • 会话层以上分层

  • TCP/IP 分层中,会话层,表示层,应用层集中在一起

  • 网络管理通过 SNMP 协议

划重点了啊(面试最常问的啊)

TCP三次握手和四次挥手?

被问烂了的问题了,这里不详细讲了,

三次握手:

  • 客户端–发送带有SYN标志的数据包–一次握手–服务端

  • 服务端–发送带有SYN/ACK标志的数据包–二次握手–客户端

  • 客户端–发送带有带有ACK标志的数据包–三次握手–服务端

四次挥手:

  • 客户端-发送一个FIN,用来关闭客户端到服务器的数据传送

  • 服务器-收到这个FIN,它发回一个ACK,确认序号为收到的序号加1 。和SYN一样,一个FIN将占用一个序号

  • 服务器-关闭与客户端的连接,发送一个FIN给客户端

  • 客户端-发回ACK报文确认,并将确认序号设置为收到序号加1

还不懂的童鞋,去找别人的文章好好看看!

TCP和UDP的区别?

仔细阅读上面传输层里写的内容,懂了吗?(不懂?不懂背下来啊,混蛋!)

【跳槽面试】一份tcp、http面试指南,常考点都给你了,tcp/ip,http,面试

我们微信聊天时候经常会有这种情况。

【跳槽面试】一份tcp、http面试指南,常考点都给你了,tcp/ip,http,面试

是不是感同身受,这种情况就是对方用了TCP协议来聊天,要经过--在吗?--在--巴拉巴拉,才能成功的传递信息。而如果对方使用UDP,则会有事直接说,不管我收没收到。(以后找我请用UDP协议,着急直接打电话!)

HTTP

Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Http连接是一种短连接,是一种无状态的连接。

所谓的无状态,是指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。如果是一个连接的话,服务器进程中就能保持住这个连接并且在内存中记住一些信息状态。而每次请求结束后,连接就关闭,相关的内容就释放了,所以记不住任何状态,成为无状态连接。

http传输流

【跳槽面试】一份tcp、http面试指南,常考点都给你了,tcp/ip,http,面试

发送端在层与层间传输数据时,没经过一层都会被加上首部信息,接收端每经过一层都会删除一条首部

又来划重点了啊

HTTP的英文全称?

开玩笑的,这个显然不是重点,但是不排除有人会去问,还是要知道的:超文本传输协议(HyperText Transfer Protocol)

状态码?

状态码就那些,常用的记住就行了:

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,表明服务器暂时处于超负载或正在停机维护,无法处理请求

HTTP协议格式?

HTTP的请求和响应的消息协议是一样的,分为三个部分,起始行、消息头和消息体。这三个部分以CRLF作为分隔符。最后一个消息头有两个CRLF,用来表示消息头部的结束。

【跳槽面试】一份tcp、http面试指南,常考点都给你了,tcp/ip,http,面试

HTTP请求的起始行称为请求行,形如GET /index.html HTTP/1.1

HTTP响应的起始行称为状态行,形如200 ok

消息头部有很多键值对组成,多个键值对之间使用CRLF作为分隔符,也可以完全没有键值对。形如Content-Encoding: gzip 消息体是一个字符串,字符串的长度是由消息头部的Content-Length键指定的。如果没有Content-Length字段说明没有消息体,譬如GET请求就是没有消息体的,POST请求的消息体一般用来放置表单数据。GET请求的响应返回的页面内容也是放在消息体里面的。我们平时调用API返回的JSON内容都是放在消息体里面的。

HTTP的无状态性?

所谓HTTP协议的无状态性是指服务器的协议层无需为不同的请求之间建立任何相关关系,它特指的是协议层的无状态性。但是这并不代表建立在HTTP协议之上的应用程序就无法维持状态。

应用层可以通过会话Session来跟踪用户请求之间的相关性,服务器会为每个会话对象绑定一个唯一的会话ID,浏览器可以将会话ID记录在本地缓存LocalStorage或者Cookie,在后续的请求都带上这个会话ID,服务器就可以为每个请求找到相应的会话状态。

输入url到页面加载都发生了什么事情?(最最常问的来了)

  • 输入地址

  • 浏览器查找域名的 IP 地址 这一步包括 DNS 具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存...

  • 浏览器向 web 服务器发送一个 HTTP 请求

  • 服务器的永久重定向响应(从 http://example.com 到 http://www.example.com)

  • 浏览器跟踪重定向地址

  • 服务器处理请求

  • 服务器返回一个 HTTP 响应

  • 浏览器显示 HTML

  • 浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、CSS、JS等等)

  • 浏览器发送异步请求

我们致力于为广大IT从业者、学生和爱好者提供全面、实用的资源和服务。关注微信公众号我们会持续分享给您想要的内容!欢迎点击关注!百战百胜

【跳槽面试】一份tcp、http面试指南,常考点都给你了,tcp/ip,http,面试文章来源地址https://www.toymoban.com/news/detail-816597.html

到了这里,关于【跳槽面试】一份tcp、http面试指南,常考点都给你了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 产品代码都给你看了,可别再说不会DDD(一):DDD入门

    产品代码都给你看了,可别再说不会DDD(一):DDD入门

    这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目—— 码如云 (https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以

    2024年02月13日
    浏览(10)
  • 软件测试项目去哪里找?我都给你整理好了【源码+操作视频】

    软件测试项目去哪里找?我都给你整理好了【源码+操作视频】

    目录 一、引言 二、测试任务 三、测试进度 四、测试资源 五、测试策略 六、测试完成标准 七、风险和约束 八、问题严重程度描述和响应时间规范 九、测试的主要角色和职责 ​有需要实战项目的评论区留言吧! 软件测试是使用人工或者自动的手段来运行或者测定某个软件

    2024年02月07日
    浏览(10)
  • 产品代码都给你看了,可别再说不会DDD(四):代码工程结构

    这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目—— 码如云 (https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以

    2024年02月11日
    浏览(10)
  • 大佬都是怎么画交换机拓扑图的?都给你整理好了

    大佬都是怎么画交换机拓扑图的?都给你整理好了

    老杨的网工交流群里经常会有这种现象: 一群小伙伴在问各类型拓扑图的问题,怎么设计,怎么配置,或者让群里的大佬帮忙看看,这图有没有啥问题的…… 太多了。 网络拓扑(Network Topology)是啥?你可以把他理解成是用传输媒体互连各种设备的物理布局。 为了更好的连

    2024年02月09日
    浏览(13)
  • 从地图到手机通讯到ChatGPT,你想要的免费 API 都给你整理好了

    在今天的科技世界中,API(Application Programming Interface)已经成为现代应用程序不可或缺的一部分。它们提供了许多强大的功能,让开发人员可以轻松地集成其他应用程序的功能,从而快速构建出色的应用程序。 在本文中,我们将介绍几个最受欢迎的 API,让你的应用程序更出

    2024年02月15日
    浏览(10)
  • 产品代码都给你看了,可别再说不会DDD(六):聚合根与资源库

    这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目—— 码如云 (https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以

    2024年02月08日
    浏览(13)
  • 软件测试用例编写规范文档,模板都给你了我看谁还不会写测试用例

    软件测试用例编写规范文档,模板都给你了我看谁还不会写测试用例

    目录 前言 一 概述 1.1目的 1.2使用范围 二 测试用例编写原则 2.1系统性 2.2连贯性 2.3全面性 三 测试用例设计方法 3.1 等价类划分法: 3.2 边界值分析法: 3.3 因果图法: 3.4功能图法 3.5错误推测法 四 测试用例编写规范 4.1测试用例命名规则 4.2测试用例编号规则 4.3测试用例文档书

    2023年04月26日
    浏览(11)
  • 采购管理软件有哪些给你一份主流采购管理工具排行榜 - 副本

    采购管理软件有哪些给你一份主流采购管理工具排行榜 - 副本

    采购管理软件有哪些?给你一份主流采购管理工具排行榜 在目前的市场上,越来越多的企业选择用采购管理软件来优化企业采购业务,有很多的采购软件服务商出现到大家的眼前,到底哪家的产品更适合自己?目前被大家选择最多的服务商又是哪家?其实主流的就三家(从国

    2024年02月04日
    浏览(13)
  • Java面试题-UDP\TCP\HTTP

    Java面试题-UDP\TCP\HTTP

    (1)UDP是 无连接的 :发送数据之前不需要像TCP一样建立连接,也不需要释放连接,所以减少了发送和接收数据的开销 (2)UDP 使用尽最大努力交付:即不保证可靠交付 (3) UDP是面向报文的。UDP在发送数据时会将数据划分为一个个 报文 (既不合并,也不分拆),每个报文

    2024年02月08日
    浏览(12)
  • 【跳槽面试】谈谈联合索引生效和失效的条件

    【跳槽面试】谈谈联合索引生效和失效的条件

    这道题考查索引生效条件、失效条件。像这类问题才其实很有意义,建议各位以后面试其他伙伴的时候,多侧重这类问题的提问,比考察一般概念性的问题好多了。 能大概考察应聘者对写的程序是有注重做优化,提高代码质量和程序性能呢 还是只简单的CV了事。 联合索引又

    2024年01月20日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包