zoukankan      html  css  js  c++  java
  • html/http/浏览器(一)

    1. 说一下http和https

    答:http是超文本传输协议,用于客户端与服务器之间传递传输文本,https协议可以说为http的加密版本,在应用层http协议和传输层之间新增加了ssl层,用于文本的加密以及客户端和服务端的身份验证,相对比与http协议更加安全,在网页中多用于账号密码登录和保密性质较高的网页。

    主要区别:就是除了以讲诉的不同之外,https需要有ca证书用于身份验证以及加密密钥的生成,而且使用端口也不相同,http使用80端口,而https协议使用443端口

    2. https协议的工作原理

    web服务器接收到客户端发送的请求之后,会将网站的证书(证书包含了公钥),返回给客户端;客户端和web服务器协商SSL连接的安全等级,也就是加密等级,客户端通过双方协商一致的加密等级,建立会话密钥,然后用客户端传递过来的公钥机密会话密钥然后进行传输,web服务器用自己的私钥解密会话密钥。Web服务器会通过会话加密与客户之间的通信。

    3.TCP三次握手

    首先客户端发起会话请求,SYN=1,ACK=0,seq=J;

    服务端收到请求后,确认建立会话,将SYN=1,ACK=1,ack=J+1,seq=K并将自己所能接受的最大字节传送给客户端;

    客户端收到后,检查ACK标志位是否为1,以及ack是否正确,正确后设置自己的最大传输字节,然后向服务端发送数据确认,此时ACK=1,ack=K+1,服务端收到后检验seq以及ack的值,正确则成功建立会话,后面继续通信。

    4. TCP的四次挥手

    第一次:客户端发送连接释报文,报文中FIN=1,seq=u,并且停止发送数据此时客户端进入终止等待1阶段。

    第二次:服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,seq=v,此时服务器进入关闭等待阶段。客户端收到服务器的确认请求后,进入终止等待2阶段,等待服务器发送连接释放报文。

    第三次:服务器将最后的数据发送完毕后,向客户端发连接送释放报文,此时服务器进入最后确认状态,等待客户端确认。

    第四次:客户端收到服务器连接释放报文后,发出确认,此时客户端进入了时间等待阶段,等待2MSL时间后关闭,服务器只要收到客户端发生的确认后就关闭。

     

    4.1如果已经建立了连接,但是客户端突然出现故障了怎么办?

    TCP还设有一个保活计时器,显然,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

    5. TCP与UDP的区别

    TCP是面向连接的,而UDP是无连接的,即发送数据前不建立连接

    TCP提供可靠的服务,通过TCP传输的数据无差错,不丢失,不重复;UDP尽最大努力交付,不保证可靠交付,可能出现丢包。

    TCP是面向字节流,分组发送;UDP面向报文,并且网络拥塞不会使得发送速率降低

    TCP只能是1对1的,UDP支持一对多

  • 相关阅读:
    ABAP接口用法
    监听textarea数值变化
    The first step in solving any problem is recognizing there is one.
    Wrinkles should merely indicate where smiles have been.
    God made relatives.Thank God we can choose our friends.
    Home is where your heart is
    ABAP跳转屏幕
    Python 工具包 werkzeug 初探
    atom通过remote ftp同步本地文件到远程主机的方法
    Mongodb学习笔记一
  • 原文地址:https://www.cnblogs.com/mlebk/p/12402745.html
Copyright © 2011-2022 走看看