14 源码初探及其工作机制分析

概述

http.client模块定义和实现了一系列类用于实现客户端HTTP和HTTPS协议。

一句话说明: HTTP/1.1 client library

注:

支持HTTP/1.1版本的协议

HTTPS的支持需要安装SSL才行

http.client工作流程

下面我们看一下http.client工作流程机制,以便加深在原理的理解。

说明:

HTTPConnection通过不同的“状态”定义了HTTP客户的行为状态,管理维护着每一个的request和response

上述的流程图,详细的说明了各“状态”之间的转换,把上图理解,即把http.client理解透彻了。

http.client的类

下面我们看一下在http.client模块中,定义了哪些类

HTTPConnection

一个HTTPConnection实例代表一个与HTTP服务器的事务。

HTTPSConnection HTTPConnection的子类,它使用SSL与安全的服务器进行通信。

HTTPResponse HTTPResponse的实例代表客户端与服务端成功建立链接后的返回。

HTTPException httpc.client模块中的异常基类,其为Exception的子类。

以下均为HTTPException的子类,属于异常类,具体含义这里不一一说明了,大家根据字面意思了解即可

NotConnected

InvalidURL

UnknownProtocol

UnknownTransferEncoding

UnimplementedFileMode

IncompleteRead

ImproperConnectionState

CannotSendRequest

CannotSendHeader

ResponseNotReady

BadStatusLine

LineTooLong

RemoteDisconnected

定义的几个常量:

注:更多的状态码请参加https://docs.python.org/3/library/http.html#http-status-codes

小结

主要让大家了解下http.client工作流程及该模块下有哪些类和常量。

本文来自企鹅号 - 开源优测媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分布式系统进阶

Influxdb 数据写入流程

因此对写入请求的处理就在函数 func (h *Handler) serveWrite(w http.ResponseWriter, r *http.Reque...

20830
来自专栏积累沉淀

java事物处理

事物处理 什么是事物:个人认为事物,就是对数据库进行一组操作动作的集合,如果一组处理步骤要么全发生,要么一步也不执行,称这组处理步骤为一个事物。当所...

27590
来自专栏MasiMaro 的技术博文

派遣函数

驱动程序的主要功能是用来处理IO请求,而大部分的IO请求是在派遣函数中完成的,用户模式下所有的IO请求都会被IO管理器封装为一个IRP结构,类似于Windows...

14810
来自专栏祝威廉

Kafka Zero-Copy 使用分析

Kafka 我个人感觉是性能优化的典范。而且使用Scala开发,代码写的也很漂亮的。重点我觉得有四个

22220
来自专栏小特工作室

1分钟生成Net对象的注释

      我们在开发过程中,肯定会有几个项目作为基础项目,存放一些比较常用的类和方法,供其他项目使用.一般来说,方法实现以后,就不想再去管它了,以致于新加入的...

21260
来自专栏Felix的技术分享

《一个操作系统的实现》笔记(5)--内核雏形

20840
来自专栏iOS技术

YYCache 源码剖析:一览亮点

YYCache 作为当下 iOS 圈最流行的缓存框架,有着优越的性能和绝佳的设计。笔者花了些时间对其“解剖”了一番,发现了很多有意思的东西,所以写下本文分享一下...

49750
来自专栏IT笔记

JAVAWEB开发的微信公众号H5支付

一切需求都是来源于业务需要,前一阵子做了微信扫码支付,的确相对PC用户来说方便了很多。但是如果手机下单,你总不能让用户自己扫自己吧?查看了一下文档,微信还是支持...

1.8K50
来自专栏JetpropelledSnake

SNMP学习笔记之SNMP4J介绍(Java)

  SNMP4J是一个用Java来实现SNMP(简单网络管理协议)协议的开源项目.它支持以命令行的形式进行管理与响应。SNMP4J是纯面向对象设计与SNMP++...

32550
来自专栏Seebug漏洞平台

Exim Off-by-one(CVE-2018-6789)漏洞复现分析

前段时间meh又挖了一个Exim的RCE漏洞[1],而且这次RCE的漏洞的约束更少了,就算开启了PIE仍然能被利用。虽然去年我研究过Exim,但是时间过去这么久...

12520

扫码关注云+社区

领取腾讯云代金券