ポジローぽけっと

昨日より今日、今日より明日を信じて、トライトライ

第二十四回スパルタンプログラミング

何がしたいか?何が問題か?を意識して変なとこでぐだぐだ考えないこと! 30分悩んで分からなかったら、早めにヘルプを出す。

ピカイチで中華たべた。いっしーと先生が疲れていて、あまり飲まないし食べない。

やりたいこと

  • RFC7230読む。

やったこと

楽しくない理由分析

  • 全体像が見にくい。
  • syntaxと章の結びつきがわからない。
  • 7230, 7231, ...の関係が分からない。

ので、各ドキュメントのアブストラクトをまとめてみる。ざっとみると、

7230: "Message Syntax and Routing"

This document provides an overview of HTTP architecture and its associated terminology, defines the "http" and "https" Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.

7231: "Semantics and Content"

This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation.

7232: "Conditional Requests"

This document defines HTTP/1.1 conditional requests, including metadata header fields for indicating state changes, request header fields for making preconditions on such state, and rules for constructing the responses to a conditional request when one or more preconditions evaluate to false.

7233: "Range Requests"

This document defines range requests and the rules for constructing and combining responses to those requests.

7234: "Caching"

This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.

7235: "Authentication"

This document defines the HTTP Authentication framework.

14.11.01

  • RFC7230,7231の途中までlex実装

14.11.03-04

  • RFC7231,...7235のlex実装

14.11.06

  • debug開始
  • ab{0,1}とab?は同じじゃないことが分かった。前者はa単体をキャッチできない、後者はできる。

(後々分かったが、flexは上記が同じ扱いになるから多分lexのバグだ。)