• HTTP协议分析


    1 HTTP发展史

    1.1HTTP概念

    超文本传输协议(HTTP HyperText TransferProtocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
    HTTP协议和TCP/IP协议族内的其他众多的协议相同,用于客户端和服务器之间的通信。

    1.2HTTP发展史

    在这里插入图片描述

    2 HTTP协议结构

    2.1 HTTP通信过程

    • 客户端发送请求。
    • 服务端接受请求,发送响应。

    2.2 HTTP报文

    用于HTTP协议交互的信息被称为HTTP报文,请求端的HTTP报文叫做请求报文,响应端的叫做响应报文。HTTP报文是由多行(CR+LF作换行符)数据构成的字符串文本。
    在这里插入图片描述

    2.2 请求报文及响应报文的结构

    在这里插入图片描述

    2.3 HTTP请求报文

    在这里插入图片描述

    2.4 HTTP方法

    • GET:请求访问已被URI识别的资源
    • POST:传输实体的主体
    • PUT:传输文件
    • HEAD:HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认UR的有效性及资源更新的日期时间等。
    • DELETE:删除文件
    • OPTIONS:查询针对请求URI指定的资源支持的方法
    • TRACE:让Web服务器端将之前的请求通信环回给客户端

    2.5 HTTP响应报文

    在这里插入图片描述

    2.6 HTTP状态码

    • 1XX
      信息性状态码,接收的请求正在处理
    • 2XX
      成功状态码,请求正常处理完毕
    • 3XX
      重定向状态码,需要进行附加操作以完成请求
    • 4XX
      客户端错误状态码,服务器无法处理请求
    • 5XX
      服务器错误状态码,服务器处理请求出错
      在这里插入图片描述

    2.7 HTTP是无状态协议

    为了实现保存状态的功能,引入了cookie技术。

    3 HTTP首部字段

    3.1 HTTP首部字段

    • 通用首部字段
      请求报文和响应报文两方都会使用的首部。
    • 请求首部字段
      从客户端向服务器端发送请求报文时使用的首部,补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
    • 响应首部字段
      从服务器端向客户端返回响应报文时使用的首部,补充了响应的附加内容,也会要求客户端附加额外的内容信息。
    • 实体首部字段
      针对请求报文和响应报文的实体部分使用的首部,补充了资源内容更新时间等与实体有关的信息。

    3.2 通用首部字段

    • Cache-Control
      通过指定首部字段Cache-Control的指令,就能操作缓存的工作机制;
    • Connection
      控制不再转发给代理的首部字段;管理持久连接
    • Date
      表明创建HTTP报文的日期和时间
    • Via
      使用首部字段Via是为了追踪客户端与服务器之间的请求和响应报文的传输路径。报文经过代理或网关时,会先在首部字段Via中附加该服务器的信息,然后再进行转发。首字段Via不仅用于追踪报文的转发,还可避免请求回环的发生,所以必须在经过代理时附加该首部字段内容。

    3.3 请求首部字段

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.4 响应首部字段

    在这里插入图片描述
    在这里插入图片描述

    3.4 实体首部字段

    在这里插入图片描述
    在这里插入图片描述

    4 CTF常见姿势

    Method
    在这里插入图片描述

    User-Agent
    在这里插入图片描述

    Location
    在这里插入图片描述

    Referer
    在这里插入图片描述

    X-Forwarded-For
    在这里插入图片描述

    Accept-Language
    在这里插入图片描述
    在这里插入图片描述
    Cookie
    在这里插入图片描述

    自定义首部字段
    在这里插入图片描述

  • 相关阅读:
    【微机原理|课程报告】双机并口通信课设报告
    对抗生成网络(GAN)
    KDE算法解析
    使用 Curl 和 DomCrawler 下载抖音视频链接并存储到指定文件夹
    Postman —— postman的介绍和安装
    信号的傅里叶分析之傅里叶级数
    ChatGLM系列五:Lora微调
    强化学习基础(1)- 理论和算法
    818专业课【考经】—《信号系统》之章节概要:第二章 连续时间信号的时域分析
    使用curl.exe执行http get指令
  • 原文地址:https://blog.csdn.net/weixin_61823031/article/details/125448926