HTTP/1.1 Table Contents

1    简介

1.1    目标

1.2    需求

1.3    术语

1.4    Overall Operation

2    符号约定和通用文法

2.1    Augmented BNF

2.2    基本规则

3    协议参数

3.1    HTTP版本

3.2    URI

3.2.1    基本语法

3.2.2   HTTP URL

3.2.3   URI比较

3.3    日期/时间格式

3.3.1    完整日期

3.3.2    Delta秒

3.4    字符集

3.4.1    Missing Charset

3.5    内容编码

3.6    传输编码

3.6.1    块传输编码

3.7    媒体类型

3.7.1    规范化和默认文本

3.7.2    多类型

3.8    Product Tokens

3.9    品质数据

3.10   语言标签

3.11   试题标签

3.12   Range Units

4    HTTP消息

4.1    消息类型

4.2    消息头

4.3    消息主体

4.4    消息长度

4.5   通用头字段

5    请求

5.1    请求行

5.1.1   方法

5.1.2   请求URI

5.2    请求资源识别

5.3    请求头字段

6    回复

6.1    状态行

6.1.1    状态码和说明

6.2    回复头字段

7    实体

7.1    实体头字段

7.2   实体主体

7.2.1    类型

7.2.2    实体长度

8    连接

8.1    持久连接

8.1.1    目的

8.1.2    Overall Operation

8.1.3    代理服务

8.1.4    应用思考

8.2    消息传输要求

8.2.1    持久连接和流控制

8.2.2    对错误状态的监视连接

8.2.3    使用100(继续) 状态

8.2.4    服务端提前关闭连接后客户端动作

9    方法定义

9.1    安全和等幂方法

9.1.1    安全方法

9.1.2    等幂方法

9.2    OPTIONS方法

9.3    GET方法

9.4    HEAD方法

9.5    POST方法

9.6    PUT方法

9.7    DELETE方法

9.8    TRACE方法

9.9     CONNECT方法

10    状态码定义

10.1    信息码1xx   

10.1.1    100 Continue

10.1.2    101 Switching Protocols

10.2    成功码1xx   

10.2.1   200 OK

10.2.2   201 Created

10.2.3   202 Accepted

10.2.4   203 Non-Authoritative Information

10.2.5   204 No Content

10.2.6    205 Reset Content

10.2.7    206 Partial Content

10.3   重定向3xx

10.3.1    300 Multiple Choices

10.3.2    301 Moved Permanently

10.3.3    302 Found

10.3.4    303 See Other

10.3.5    304 Not Modified

10.3.6    305 Use Proxy

10.3.7    306 (保留)

10.3.8    307 Temporary Redirect

10.4    客户端错误码4xx

10.4.1    400 Bad Request

10.4.2    401 Unauthorized

10.4.3    402 Payment Required

10.4.4    403 Forbidden

10.4.5    404 Not Found

10.4.6    405 Method Not Allowed

10.4.7    406 Not Acceptable

10.4.8    407 Proxy Authentication Required

10.4.9    408 Request Timeout

10.4.10   409 Conflict

10.4.11   410 Gone

10.4.12   411 Length Required

10.4.13   412 Precondition Failed

10.4.14   413 Request Entity Too Large

10.4.15   414 Request-URI Too Long

10.4.16   415 Unsupported Media Type

10.4.17   416 Requested Range Not Satisfiable

10.4.18   417 Expectation Failed

10.5    服务端错误码5xx

10.5.1   500 Internal Server Error

10.5.2   501 Not Implemented

10.5.3   502 Bad Gateway

10.5.4   503 Service Unavailable

10.5.5   504 Gateway Timeout

10.5.6   505 HTTP Version Not Supported

11   访问权限

12   内容会话

12.1     服务端驱动会话

12.2    客户端程序驱动会话

13    HTTP的缓存

13.1.1    缓存正确性

13.1.2    注意

13.1.3    缓存控制机制

13.1.4   显示客户程序提醒

13.1.5   Exceptions to the Rules and Warnings

13.1.6   客户端控制的动作

13.2  终止模型

13.2.1   服务端指定终止

13.2.2   启发式终止

13.2.3   年龄算法

13.2.4   终止算法  

13.2.5   Disambiguating Expiration Values

13.2.6   Disambiguating Multiple Responses

13.3    验证模型

13.3.1   最后修改日期

13.3.2   实体标签缓存验证

13.3.3   弱验证和强验证

13.3.4   何时使用实体标签和最后修改时间

13.3.5   无验证条件

13.4  回复缓存

13.5   从缓存中构造回复

13.5.1   End-to-end and Hop-by-hop Headers

13.5.2   不可修改的头

13.5.3   合并头

13.5.4   Combining Byte Ranges

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,需要导入IndentedTOC类: ```python from markdown_indented_toc import IndentedTOC ``` 然后,可以使用IndentedTOC类来创建一个实例。比如: ```python indented_toc = IndentedTOC() ``` 接着,使用IndentedTOC实例的convert_markdown_to_toc方法将Markdown文本转换为目录,比如: ```python markdown_text = """ # Title 1 ## Subtitle 1.1 ## Subtitle 1.2 # Title 2 ## Subtitle 2.1 ### Subsubtitle 2.1.1 """ indented_toc.convert_markdown_to_toc(markdown_text) ``` 最后,使用IndentedTOC实例的get_markdown_toc方法获取转换后的Markdown目录,比如: ```python print(indented_toc.get_markdown_toc()) ``` 输出的目录格式如下: ``` - Title 1 - Subtitle 1.1 - Subtitle 1.2 - Title 2 - Subtitle 2.1 - Subsubtitle 2.1.1 ``` 上面代码片段演示了如何使用IndentedTOC类来将Markdown文本转换为缩进形式的目录。 ### 回答2: class IndentedTOC(TableOfContents) 是一个继承自 TableOfContents 的类,可用于创建带缩进的目录。 具体使用 IndentedTOC 的步骤如下: 1. 导入必要的类库和模块: ``` from docx import Document from docx.oxml.ns import qn from docx.text.table import Table from docx.oxml import OxmlElement ``` 2. 创建 IndentedTOC 对象: ``` indented_toc = IndentedTOC() ``` 3. 设置目录的标题和级别: ``` indented_toc.title = "目录" # 设置目录的标题 indented_toc.level = 2 # 设置目录的级别,通常是 1、2、3 ``` 4. 将目录插入到文档: ``` document.add_paragraph().add_run().add_toc(indented_toc.level, indented_toc.title) ``` 5. 为目录设置缩进: ``` for paragraph in document.paragraphs: if paragraph.text == indented_toc.title: toc_element = paragraph._p toc_element.addprevious(OxmlElement('w:pPr')) ppr = toc_element.previous_sibling ppr.append(OxmlElement('w:ind', attrib={"w:left": "720", "w:hanging": "360"})) break ``` 6. 更新文档中的目录: ``` indented_toc.update_toc(document) ``` 通过以上步骤,就能够具体使用 class IndentedTOC(TableOfContents) 创建带缩进的目录。 ### 回答3: class IndentedTOC(TableOfContents) 是一个用于生成缩进式目录的类。我们可以通过继承这个类,来定制具体的缩进式目录。下面以一个简单的示例来说明如何使用该类: 首先,我们需要导入所需的类: ```python from docx import Document from docx.enum.text import WD_PARAGRAPH_ALIGNMENT from docx.oxml.ns import nsdecls from docx.oxml import parse_xml from docx.table import Table from docx.shared import Inches from docx.oxml.ns import nsdecls ``` 然后,我们可以创建一个类来继承 IndentedTOC(TableOfContents): ```python class MyIndentedTOC(IndentedTOC): def __init__(self, document): super().__init__(document) def add_paragraph(self, index, text): paragraph = self.document.add_paragraph('', style='TOC Heading') paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT tab = parse_xml(r'<w:tbl><w:tblPr><w:tblW w:w="5000" w:type="dxa"/></w:tblPr><w:tblGrid><w:gridCol w:w="5000"/></w:tblGrid><w:tr><w:tc><w:tcPr><w:tcW w:w="5000" w:type="dxa"/></w:tcPr><w:p><w:r><w:t>'+text+'</w:t></w:r></w:p></w:tc></w:tr></w:tbl>').getroot() p = paragraph._p p.append(tab) ``` 在上述代码中,我们在类中添加了一个 add_paragraph 方法来定制目录的样式。该方法先创建一个空的段落,并将对齐方式设置为左对齐。然后,在段落内添加一个表格,并将该表格的列宽和文本设置为我们想要的样式。 接下来,我们可以使用这个自定义的缩进式目录类生成具体的目录。以下是一个使用示例: ```python document = Document() # 创建一个新的 Word 文档 my_toc = MyIndentedTOC(document) # 使用自定义的缩进式目录类创建目录对象 # 添加标题 title = document.add_paragraph('示例文档', 'Title') title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 添加章节标题 chapter_1_title = document.add_paragraph('第一章', 'Heading1') chapter_2_title = document.add_paragraph('第二章', 'Heading1') # 添加小节标题 document.add_paragraph('1.1 小节 1', 'Heading2') document.add_paragraph('1.2 小节 2', 'Heading2') document.add_paragraph('2.1 小节 1', 'Heading2') document.add_paragraph('2.2 小节 2', 'Heading2') # 生成目录 my_toc.add_paragraph(1, '第一章') # 通过自定义的方法添加目录项 my_toc.add_paragraph(2, '第二章') # 通过自定义的方法添加目录项 document.save('example.docx') # 保存文档 ``` 以上代码中,我们首先创建了一个新的 Word 文档。然后,使用自定义的类 MyIndentedTOC 创建了目录对象 my_toc。在添加标题、章节和小节标题之后,通过调用 my_toc 的 add_paragraph 方法来生成目录项。最后,保存文档为 example.docx。 通过上述示例,我们可以看到如何使用 class IndentedTOC(TableOfContents) 类来生成缩进式目录,并通过继承这个类来进行定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值