zoukankan      html  css  js  c++  java
  • HTTP 请求的读取和分析

    主状态机的状态

    • 正在分析请求行 CHEACK_STATE_REQUESTLINE -> parse_requestline
    • 正在分析头部字段 CHECK_STATE_HEADER -> parse_headers

    从状态机的三种可能状态,即行的读取状态

    • 读取道一个完整的行 LINE_OK
    • 行出错 LINE_BAD
    • 数据尚且不完整 LINE_OPEN

    服务器HTTP 请求结果

    • NO_REQUEST 表示请求不完整,还需要继续读取客户数据
    • GET_REQUEST 表示获得了一个完整的客户请求
    • BAD_REQUEST 表示客户请求有语法错误
    • FORBIDDEN_REQUEST 表示客户对资源没有足够的访问权限
    • INTERNAL_ERROR 表示服务器内部错误
    • CLOSE_CONNECTION 表示客户端已经关闭连接了

    LINE_STATUS parse_line (char* buffer, int& checked_index, int& read_line)

    用于解析出一行的内容
    checked_index 指向 buffer 中当前正在分析的字节,read_index 指向 buffer 中客户数据的尾部的下一个字节, buffer 中 0 ~ checked_index 字节都分析完毕,第 checked_index ~ read_index - 1,需要逐个分析
    parse_line ->ok 的,才能开始分析请求行以及头部字段

    HTTP_CODE parse_requestline (char* temp, CHECK_STATE& checkstate)

    用于分析请求行

    HTTP_CODE parse_headers(char* temp)

    分析头部字段

    HTTP_CODE prase_content(char* buffer, int& checked_index, CHECK_STATE& checkstate, int& read_index, int& start_line)

    HTTP 请求的入口函数

  • 相关阅读:
    基于 bootstrap html 响应式 布局
    柱状图 线状图 填写数据
    代码 比较工具 在线
    WEB框架之Flask
    测试学习方向
    软件测试的定义及其分类
    新博客人
    实现人脸识别性别之路---制作训练集中使用到的函数
    实现人脸识别性别之路---制作自己的训练集并读取
    实现人脸识别性别之路---opencv
  • 原文地址:https://www.cnblogs.com/wsl-hitsz/p/14584496.html
Copyright © 2011-2022 走看看