首页 > 其他分享 >http与https的区别、TCP三次握手与四次挥手

http与https的区别、TCP三次握手与四次挥手

时间:2022-11-15 18:00:12浏览次数:52  
标签:http ack 报文 TCP 发送 https 服务器 FIN 客户端

·http

定义:http,超文本传输协议,是一个基于请求与响应的,无状态的,应用层协议,常基于TCP/IP协议进行传输数据,是互联网上最为广泛运用的传输协议,所有的www文件均需遵守该标准。设计http的初衷是为了提供一种发布和接收html页面的方法。端口号为80

特点:

1.基于请求和响应:由客户端发起请求,服务器响应请求

2.无状态:协议对客户端没有状态存储,访问一个网站需要反复登录

3.无连接:HTTP/1.1之前,每次请求都得TCP三次握手四次挥手来与服务器建立连接。如果多次请求同一资源,服务器并不能区分是否响应过用户的请求,每次都需要重新响应请求。

4.简单快速、灵活

5.通信时使用明文,请求和响应不会的通信方进行确认,无法确保数据完整性

·https

定义:https,即http的安全通信版,使用SSL进行加密处理数据,验证对方的身份,保证了数据的完整性。端口号为443

特点:

1.内容加密:采用混合加密技术,中间者无法直接查看明文内容

2.验证身份:通过证书认证客户端访问的是自己的服务器

3.保证数据完整性:可防止传输内容被中间人冒充或篡改

·TCP

定义:tcp,传输控制协议,是面向连接的,可靠的,基于字节流的传输层通信协议。tcp就是为了在不可靠的网络上,建立可靠的一个端与端之间的安全传输通道。

·三次握手--连接

过程:客户端向服务器发送请求报文syn请求连接,验证服务器是否可以发送请求,此为第一次;服务器接收到报文后响应了一个报文,发送了syn和ack,验证客户端发送和接收功能是否正常,此为第二次;客户端接收到报文后发送一个确认报文ack,表明自己接收正常,双方开始通信,此为第三次。

·发送syn确保双方有通信功能,发送ack确保双方有数据收发功能;第三次才可携带数据,第一二次不可以,因为这样服务器很容易被恶意攻击。

·握手失败原因:1.服务器端没有收到syn,无法进行下一步导致失败;2.服务端发送syn+ack后没有等来客户端的syn+ack确认,超时后会自动释放资源导致连接失败。

·isn:数据发送的初始序列号,需要动态生成,如果是静态的,容易被猜到后续的确认号导致报文掺入虚假信息。

·四次挥手--释放

过程:客户端发起关闭连接的请求,向服务器发送FIN报文段,进入FIN_wait1状态,此为第一次;服务器接收到后发送一个ack表示我知道了,然后进入close_wait状态,此为第二次,在第二次中,虽然客户端不再发送了,但是服务器端可能还有数据在发送,所以客户端接收到ack后会进入FIN_wait2状态;服务器发送完毕数据后会在末尾加上结束报文段FIN,服务器进入last_ack阶段等待客户端确认,此为第三次;客户端收到结束报文FIN后进入time_wait阶段,并向服务器发送一个确认的ack,服务器收到ack后关闭,而客户端等待msl之后也会关闭,此为第四次。

·FIN为结束报文,ack为确认报文,TCP在握手时将ack与FIN合并传输并无大碍,但是结束时客户端发送完了不代表服务器端也发送完了,所以需要将此两个报文段分开发送,故有四次。

·time_wait作用:如果客户端不等待直接关闭,得服务器端无法收到客户端的ack确认报文,服务器会不停发送FIN,会存在两个危害,1.新的客户端绑定地址成功后会接收到FIN,对新的连接造成危害,2.新的客户端会收到FIN而不是ack+syn,建立无法连接。

·2MSL作用:因为服务器发送FIN后需要ack结束,如果客户端发送的ack缺失了服务器无法正常关闭,所以需要等待2MSL。

标签:http,ack,报文,TCP,发送,https,服务器,FIN,客户端
From: https://www.cnblogs.com/jackdongdong/p/16893358.html

相关文章

  • 说说http,https协议
    HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传......
  • 提取HTTP代理时提示“该参数条件下没有任何IP”
    很多人在提取HTTP代理时经常会遇到这样的提示:“该参数条件下当前没有任何HTTP代理”,这是为什么呢?我们一起来分析下。1、核实参数条件生成提取链接的时候,会设置......
  • 什么是http代理的有效时长
    人们常常被问到HTTP代理可以使用多久,还有人说HTTP代理是怎么运行的,今天我们就来分析一下,一个HTTP代理可以使用多久,有什么影响因素。1、动态HTTP代理的有效期,目前市......
  • HTTP代理API是什么
    经常上网的朋友可能听说过IP代理,但是它的实际功能很多人并不清楚。将其扩展到这里。当前大部分网络活动中,http是一种比较常见的网络协议,所以http代理也是普遍采用的代......
  • 云服务器搭建http代理有什么好处
    1、安全过滤,安全性方面,不允许用户直接访问真实服务器。任何访问请求都要先到达代理服务器,代理服务器进行验证、过滤等安全类操作,合格请求才会被转发到真正的服务器......
  • 为什么我的HTTP代理用着用着就变慢了
    在日常生活中当我们想用一个IP的时候,代理ip是很常见的。但是,很多用户在购买HTTP代理使用的过程中,发现刚开始速度很快,用着用着就变慢了,影响了工作效率,这是为什么呢?......
  • 移动HTTP代理有什么优点
    很多的网络用户都会使用换ip,那么HTTP代理在这当中有什么优点?IP我们都不陌生,一台电脑只有一个IP来确定电脑的位置。想换IP也是可以的,就是用换IP的软件,那就是ip代理......
  • 调用外部API --使用httpclient
    调用外部API --使用httpclienthttpclient请求不属于浏览器操作,跨域是浏览器的安全性,不需要跨域ajax是浏览器的操作,它需要进行设置跨域1、httpclient请求https.NETC#......
  • day31 1 tomcat介绍与创建web项目 & 2 继承HttpServlet类、配置webxml全局配置文件 &
    ServletJavaServlet是运行在Web服务器或应用服务器上的程序,作为客户端(Web浏览器或其他HTTP客户端)和服务端(HTTP服务器上的数据库或应用程序)之间的中间层。使用Servlet可......
  • RemoteHttpUtil
    1packagecom.-.it.regioc.utils;23importcom.-.it.regioc.bean.config.HttpConfig;4importokhttp3.*;5importorg.apache.commons.lang3.StringUti......