前言:在Java面试中,计算机网络的知识也是一项重点,因此笔者在此对计算机网络的相关知识进行总结。


1.OSI参考模型

自下而上:物理层(物理介质,比特流)、数据链路层(网卡、交换机)、网络层(IP协议)、传输层(TCP/UDP协议)、会话层(创建/建立/断开连接)、表示层(翻译,编码,压缩,加密)、应用层(HTTP协议)。

简化为TCP/IP模型:网络层(物理层、数据链路层、网络层)、传输层,会话层,应用层(表示层,应用层)。

参考:

https://www.cnblogs.com/evablogs/p/6709707.html

2.传输层作用

作用:传输层为它上面的应用层提供通信服务。

在OSI七层参考模型中,传输层是面向通信的最高层,也是用户功能的最底层。

传输层两大重要的功能:复用和分用。

1)复用:在发送端,多个应用进程公用一个传输层。

2)分用:在接收端,传输层会根据端口号将数据分派给不同的应用进程。

和网络层的区别:

1)网络层为不同主机提供通信服务,而传输层为不同主机的不同应用提供通信服务。

2)网络层只对报文头部进行差错检测,而传输层对整个报文进行差错检测。

参考:

https://blog.csdn.net/u010425776/article/details/55006347

注:该博文中给出了较为详细的传输层知识点。

3.“三次握手”与“四次挥手”

在tcp建立连接时,需要进行“三次握手”。关于“三次握手”的通俗理解:“你有空吗”,“我有空”,“OK,我来了”。

在tcp断开连接时,需要进行“四次挥手”。关于“四次挥手”的通俗理解:“我要走了”,“没问题”,“不忙,他也要走”,“好,那我和他一起走”。

参考:

https://www.cnblogs.com/SeaSky0606/p/4741982.html

https://blog.csdn.net/u010425776/article/details/55006347

4.TCP的长连接和短连接

长连接:指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接。

在数据库连接池中,一般使用的是长连接,这样比较节约资源。

短连接:短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接。

参考:

https://www.cnblogs.com/onlysun/p/4520553.html

5.HTTP工作原理

要点:

1)HTTP是一个无状态协议,为应用层协议,基于TCP/IP之上。

2)HTTP的一个工作过程分为:地址解析、封装HTTP请求数据包、通过TCP建立连接、客户端发送请求指令、服务器响应、服务器关闭连接。

参考:

https://blog.csdn.net/hguisu/article/details/8680808

6.HTTP中请求、响应、缓存

要点:

1)请求由请求行、请求头和请求正文组成。

2)响应由状态行、消息报头和响应正文组成。

3)缓存可以提高了访问的流畅性。

参考:

https://blog.csdn.net/hguisu/article/details/8683290

7.HTTP1.0和HTTP1.1区别

要点:

HTTP1.0每对Request/Response都使用一个新的连接。

HTTP1.1则支持持久连接Persistent Connection, 并且默认使用Persistent  connection.

参考:

https://blog.csdn.net/hguisu/article/details/8608888

8.HTTPS的通信过程

主要在加解密的过程。

参考:

http://www.liqwei.com/network/protocol/2012/906.shtml


by Shawn Chen,2018.4.6日,晚。

Java面试知识点之计算机网络篇(一)的更多相关文章

  1. Java面试知识点之线程篇(三)

    前言:这里继续对java线程相关知识点进行总结,不能间断. 1.yield()方法 yield()的作用是让步.它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执 ...

  2. Java面试知识点之线程篇(二)

    前言:接上篇,这里继续对java线程相关知识点进行总结. 1.notify和notifyall的区别 notify()方法能够唤醒一个正在等待该对象的monitor的线程,当有多个线程都在等待该对象的 ...

  3. Java面试知识点之线程篇(一)

    前言:在Java面试中,一定会遇到线程相关问题,因此笔者在这里总结Java中有关线程方面知识点,多数从网上得来(文中会贴出主要参考链接),有些也是笔者在面试中所遇到的问题,如有错误,请不吝指正.主要参 ...

  4. Java面试知识点之虚拟机篇(一)

    前言:Java虚拟机的重要性不言而喻,不管是在实际工作中,还是面试中. 1.JVM架构 要点: 主要了解Java虚拟机运行时数据区:程序计数器.Java虚拟机栈.本地方法栈.Java堆和方法区. 参考 ...

  5. Java面试知识点之数据库篇(一)

    前言:数据库的相关知识,在面试中也经常出现,笔者认为非常有必要对此类知识进行相关总结. 1.索引 索引是对数据库表中一列或多列的值进行排序的结构,是帮助数据库高效获取数据的数据结构. 通俗理解:索引就 ...

  6. Java 面试知识点解析(五)——网络协议篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  7. Java 面试知识点解析(二)——高并发编程篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  8. Java 面试知识点解析(三)——JVM篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  9. Java 面试知识点解析(四)——版本特性篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

随机推荐

  1. 杭电ACM2002--计算球体积

    计算球体积 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  2. mysql外键使用

    一.外键 .外键:链接两张表的字段,通过主表的主键和从表的外键来描述主外键关系,呈现的是一对多的关系.例如:商品类别(一)对商品(多),主表:商品类别表,从表:商品表. .外键的特点:从表外键的值是对 ...

  3. python学习笔记(一)、列表和元祖

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...

  4. JSTL_XML标记库

    JSTL_XML 一:说明 如有转载请标明出处 必须包含的属性->有默认值的属性->其余属性,中间用回车隔开 二:XML标记库 Xml标记库主要功能就是为在jsp页面中操作xml提供便利支 ...

  5. Java 文件流操作.

    一.概念 在Java中,文件的输入和输出是通过流(Stream)来实现的.一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是 Internet 上的某个 URL.对 ...

  6. JavaScript中判断整字类型最简洁的实现方法

    这篇文章主要介绍了JavaScript中判断整字类型最简洁的实现方法,本文给出多个判断整数的方法,最后总结出一个最短.最简洁的实现方法,需要的朋友可以参考下 我们知道JavaScript提供了type ...

  7. vue项目编辑修改时批量回显数据

    selectCityServiceOne() { let sendData = { token: this.token, id: this.id } post_ajax('backStage/city ...

  8. Python相关机器学习‘武器库’

    开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处 ...

  9. Spring学习之旅(六)Spring AOP工作原理初探

    AOP(Aspect-Oriented  Programming,面向切面编程)是Spring提供的关键技术之一. AOP基于IoC,是对OOP(Object-Oriented Programming ...

  10. RTP 流媒体

    RTMP协议是Adobe的私有协议,未完全公开,RTSP协议和HTTP协议是共有协议,并有专门机构做维护. RTMP协议一般传输的是flv,f4v格式流,RTSP协议一般传输的是ts,mp4格式的流. ...