首页 > 其他分享 >应用层协议

应用层协议

时间:2022-08-30 19:22:17浏览次数:39  
标签:协议 HTTP 请求 SYN 应用层 服务器 连接 客户端

一、OSI基础知识

(1)OSI 网络七层模型

第一层:应用层,定义了用于在网络中进行通信和传输数据的接口;(Http协议位于该层)

第二层:表示层,定义不同系统中数据的传输格式,编码和解码规范等;

第三层:会话层,管理用户的会话,控制用户间逻辑连接的建立和中断;

第四层:传输层,管理着网络中端到端的数据传输;(Tcp协议位于该层)

第五层:网络层,定义网络设备间如何传输数据;(IP位于该层)

第六层:链路层,将上面的网络层的数据包封装成数据帧,便于物理层传输;

第七层:物理层,这一层主要就是传输这些二进制数据。

(2)TCP连接

建立起一个TCP连接需要经过“三次握手”:

第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求。

SYN攻击就是利用三次握手的第二次握手时进行的,这时候服务器处于SYN_RECV状态,等待客户端进行确认ACK,SYN会伪造不存在的源IP,就会有大量的链接处于等待或重试发送SYN+ACK包,导致该阶段队列持续增长,进而导致后续正常请求被丢弃。

二、应用层协议

HTTP、DNS

(1)HTTP

HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。

HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。
在HTTP 1.1中,则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。
由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”。

要保持客户端程序的在线状态,需要不断地向服务器发起连接请求,通常情况下即使不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。

HTTP之缓存

第一层为强缓存:Cache-Control与Expires,即Cache-Control的优先级最高,直接从本地缓存获取,不需要返回服务器验证;

第二层为协商缓存:Last-Modified与Etag,需要返回服务器验证,返回304;

Date:当前请求的时间

Date: Tue, 30 Aug 2022 06:05:23 GMT

HTTP/1.0中 Expires,直接设置过期时间

Expires:Fri, 10 Apr 2022 16:30:04 GMT

Cache-Control:请求缓存后的多少秒不再发起请求,需要和Date对比,响应200(来自内存缓存)

Cache-Control: max-age=864000

Last-Modified:资源最新修改时间

Last-Modified: Thu, 25 Aug 2022 02:18:43 GMT

ETag:资源内容唯一标识

ETag: "067CBE6331580D9947617F54F7EC8F3B"

If-None-Match:请求头,把ETag再带回去,由服务器做对比

If-None-Match: 58b66ccbe349d0d931df877c00d8101d037243dc

If-Modified-Since:请求头,把Last-Modified带回去做对比

If-Modified-Since: Tue, 30 Aug 2022 05:49:48 GMT

  • 请求头
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7,mt;q=0.6
Connection: keep-alive
Host: doc.comeround.cn
If-Modified-Since: Tue, 30 Aug 2022 05:49:48 GMT
If-None-Match: "03202C42A908FC6A9D2A56CE81CF6777"
Referer: http://comeround.cn/
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
  • 响应头
状态代码: 304 Not Modified
Accept-Ranges: bytes
Content-Length: 478
Content-MD5: AyAsQqkI/GqdKlbOgc9ndw==
Content-Type: application/octet-stream
Date: Tue, 30 Aug 2022 06:16:12 GMT
ETag: "03202C42A908FC6A9D2A56CE81CF6777"
Last-Modified: Tue, 30 Aug 2022 05:49:48 GMT
Server: AliyunOSS

标签:协议,HTTP,请求,SYN,应用层,服务器,连接,客户端
From: https://www.cnblogs.com/comeround/p/16640542.html

相关文章

  • Pb协议的接口测试
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取ProtocolBuffers是谷歌开源的序列化与反序列化框架。它与语言无关、平台无关、具有可扩展的......
  • EasyCVR通过国标GB协议接入设备,TCP正常注册但UDP无法成功注册的原因分析
    EasyCVR平台支持海量的视频设备接入、视频汇聚管理、转码、分发、告警以及平台级联、智能分析等功能。平台可支持多类型的协议接入,包括GB/T28181、RTMP、RTSP/Onvif协议、......
  • 通信协议详解(一):IIC总线协议(传输时序+数据格式+设计实现) - 知乎
    一、IIC(Inter-IntegratedCircuit)介绍    IIC(Inter-IntegratedCircuit)即集成电路总线,它是一种具有两线传输的串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了......
  • modbus_rtu协议读取监测软件-大气废弃数据实时监控软件pyqt5
      串口发送数据:01030000001845c0串口接收数据:0103304242825d4223f4074113097740f7e08541569aa140f0654240ccedaf4283f0a442......
  • 网络协议之ICMP
    什么是ICMP?因特网控制报文协议ICMP(InternetControlMessageProtocol)是一个差错报告机制,是TCP/IP协议簇中的一个重要子协议,通常被IP层或更高层协议(TCP或UDP)使用,属于网络......
  • TCP协议原理
    TCP/IP协议原理_一个懂技术的项目经理的博客-CSDN博客_tcp/ip协议原理 https://blog.csdn.net/apanious/article/details/51014333TCP协议原理TCP每发送一个报文段,就启......
  • qt之网络协议
    tcp://--------------widget.h:#ifndefWIDGET_H#defineWIDGET_H#include<QWidget>#include<QTcpServer>//服务器#include<QTcpSocket>//套接字发送的......
  • JDWP 协议及实现
      什么是JDWP?JDWP是JavaDebugWireProtocol的缩写,它定义了调试器(debugger)和被调试的Java虚拟机(targetvm)之间的通信协议。JDWP协议介绍这里首先要说......
  • CFA - 金融工程 - 3.利率,远期利率协议FRA
    一、利率基本知识1.1利率的衡量-按年复利vs每年复利m次     二、零期利率,远期利率的套利应用2.1通过零息利率,锁定远期借款利率f(0,4)4年期,零期利率......
  • ARP协议
                                ......