zoukankan      html  css  js  c++  java
  • 网络一点点积累

    一、计算机网络TCP/IP模型

      1.TCP和UDP协议的区别

      a.基于连接与无连接;
        b.对系统资源的要求(TCP较多,UDP少);
        c.UDP程序结构较简单;
        d.流模式与数据报模式 ;

        e.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。   UDP (应用场景 IP电话,实时视频会议)

    二、TCP中的三次握手和四次挥手

      三次握手:

      

        第一次握手,发送SYN包,然后进入SYN_SEND状态 

        第二次握手,发送ACK_SYN包,然后进入SYN_RCVD(接受)状态  

        第三次握手,A已进入ESTABLISHED(建立)状态 

        为什么需要三次握手?

        三次握手的目的是建立可靠的通信信道,主要的目的就是**双方确认自己与对方的发送与接收机能正常**

      四次挥手:

        

    1. A与B交谈结束之后,A要结束此次会话,对B说:我要关闭连接了(seq=u,FIN=1)。(第一次挥手,A进入FIN_WAIT_1)
    2. B收到A的消息后说:确认,你要关闭连接了。(seq=v,ack=u+1,ACK=1)(第二次挥手,B进入CLOSE_WAIT)
    3. A收到B的确认后,等了一段时间,因为B可能还有话要对他说。(此时A进入FIN-WAIT-2)
    4. B说完了他要说的话(只是可能还有话说)之后,对A说,我要关闭连接了。(seq=w, ack=u+1,FIN=1,ACK=1)(第三次挥手)
    5. A收到B要结束连接的消息后说:已收到你要关闭连接的消息。(seq=u+1,ack=w+1,ACK=1)(第四次挥手,然后A进入CLOSED)
    6. B收到A的确认后,也进入CLOSED。
    为什么要四次挥手?
    根本原因是,一方发送FIN只表示自己发完了所有要发的数据,但还允许对方继续把没发完的数据发过来

    三、HTTP协议
      1.TCP属于传输层,用于数据传输   http属于应用层,用于数据的封装


    四、GET请求和POST请求的区别
      * 数据的类型、大小是否有限制:GET请求有限制;POST请求没有
      * 安全性:GET请求提交的数据都在URL中,可见,不安全;相对来说POST请求更加安全
      * JS中获取参数上的区别:GET请求在JS中是通过```Request.QueryString["xxx"]```获取URL中的参数,而POST请求在JS中是通过```Request.Form["xxx"]```获取Form表单中的参数

      

     五、https和http的区别

       1.https的理解 :  是在http的基础之上加了加密解密SSL/TLS,HTTP默认使用80端口,HTTPS默认使用443端口

       2.好处:

        a.窃听风险

        b.篡改风险

        c.冒充风险

      3.SSL和TLS的运行机制

       1.首先,客户端(通常是浏览器)先向服务器发出加密通信的请求 (请求包括 : 1.支持的协议版本  2.  一个客户端生成的随机数  3. 支持的加密方法,比如RSA公钥加密)

       2.服务器收到客户端请求后,向客户端发出回应(回应包括:  1.一个服务器生成的随机数  2.确认使用的加密方法,比如RSA公钥加密  3.确认使用的加密通信协议版本)

       3.客户端收到服务器回应以后,首先验证服务器证书。如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。

        如果证书没有问题,客户端就会从证书中取出服务器的公钥,向服务端发送请求

       4.服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的"会话密钥",然后就像http那样就行数据通信

          

      

  • 相关阅读:
    编程风格与注意事项(一)
    BB-Black 初体验之远程控制篇
    我的BB-Black之旅……(一)
    等精度频率计设计中的猫腻
    Linux查看物理CPU个数、核数、逻辑CPU个数、Cpu型号
    基于TransportClient的elasticsearch(es)消费kafka数据---Java程序设计
    elasticsearch概述
    HBase 性能优化笔记
    hive1.2.1搭建遇到的问题
    Hbase的表设计
  • 原文地址:https://www.cnblogs.com/liunx1109/p/11084696.html
Copyright © 2011-2022 走看看