zoukankan      html  css  js  c++  java
  • Java面试知识点之计算机网络篇(一)

    前言:在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日,晚。

  • 相关阅读:
    【2020省选模拟】01.18比赛总结
    【2020省选模拟】01.17比赛总结
    利用dockerfile 安装一个tomcat7
    docker的基本安装和命令详解
    jumpserver1.4.1 安装过程
    Redis info参数总结
    ansible-service
    ansible-yum
    centos源码安装mariadb和Galera 多主集群
    ansible常用模块
  • 原文地址:https://www.cnblogs.com/developer_chan/p/8615611.html
Copyright © 2011-2022 走看看