http — HTTPモジュール—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.8/library/http
移動先:案内検索

http —HTTPモジュール

ソースコード: :source: `Lib / http / __ init __。py`



http は、ハイパーテキスト転送プロトコルを操作するためのいくつかのモジュールを収集するパッケージです。

  • http.client は低レベルのHTTPプロトコルクライアントです。 高レベルのURLを開くには、 urllib.request を使用します
  • http.server には、 socketserver に基づく基本的なHTTPサーバークラスが含まれています。
  • http.cookies には、Cookieを使用して状態管理を実装するためのユーティリティがあります
  • http.cookiejar はCookieの永続性を提供します

http は、 http.HTTPStatus 列挙型を介して多数のHTTPステータスコードと関連メッセージを定義するモジュールでもあります。

class http.HTTPStatus

バージョン3.5の新機能。

enum.IntEnum のサブクラスで、英語で記述されたHTTPステータスコード、理由フレーズ、および長い説明のセットを定義します。

使用法:

>>> from http import HTTPStatus
>>> HTTPStatus.OK
<HTTPStatus.OK: 200>
>>> HTTPStatus.OK == 200
True
>>> HTTPStatus.OK.value
200
>>> HTTPStatus.OK.phrase
'OK'
>>> HTTPStatus.OK.description
'Request fulfilled, document follows'
>>> list(HTTPStatus)
[<HTTPStatus.CONTINUE: 100>, <HTTPStatus.SWITCHING_PROTOCOLS: 101>, ...]

HTTPステータスコード

サポートされている、 http.HTTPStatus で使用可能な IANA登録済みステータスコードは次のとおりです。

コード 列挙型名 詳細
100 CONTINUE HTTP / 1.1 RFC 7231 、セクション6.2.1
101 SWITCHING_PROTOCOLS HTTP / 1.1 RFC 7231 、セクション6.2.2
102 PROCESSING WebDAV RFC 2518 、セクション10.1
200 OK HTTP / 1.1 RFC 7231 、セクション6.3.1
201 CREATED HTTP / 1.1 RFC 7231 、セクション6.3.2
202 ACCEPTED HTTP / 1.1 RFC 7231 、セクション6.3.3
203 NON_AUTHORITATIVE_INFORMATION HTTP / 1.1 RFC 7231 、セクション6.3.4
204 NO_CONTENT HTTP / 1.1 RFC 7231 、セクション6.3.5
205 RESET_CONTENT HTTP / 1.1 RFC 7231 、セクション6.3.6
206 PARTIAL_CONTENT HTTP / 1.1 RFC 7233 、セクション4.1
207 MULTI_STATUS WebDAV RFC 4918 、セクション11.1
208 ALREADY_REPORTED WebDAVバインディング拡張機能 RFC 5842 、セクション7.1(実験的)
226 IM_USED HTTPでのデルタエンコーディング RFC 3229 、セクション10.4.1
300 MULTIPLE_CHOICES HTTP / 1.1 RFC 7231 、セクション6.4.1
301 MOVED_PERMANENTLY HTTP / 1.1 RFC 7231 、セクション6.4.2
302 FOUND HTTP / 1.1 RFC 7231 、セクション6.4.3
303 SEE_OTHER HTTP / 1.1 RFC 7231 、セクション6.4.4
304 NOT_MODIFIED HTTP / 1.1 RFC 7232 、セクション4.1
305 USE_PROXY HTTP / 1.1 RFC 7231 、セクション6.4.5
307 TEMPORARY_REDIRECT HTTP / 1.1 RFC 7231 、セクション6.4.7
308 PERMANENT_REDIRECT 永続的なリダイレクト RFC 7238 、セクション3(実験的)
400 BAD_REQUEST HTTP / 1.1 RFC 7231 、セクション6.5.1
401 UNAUTHORIZED HTTP /1.1認証 RFC 7235 、セクション3.1
402 PAYMENT_REQUIRED HTTP / 1.1 RFC 7231 、セクション6.5.2
403 FORBIDDEN HTTP / 1.1 RFC 7231 、セクション6.5.3
404 NOT_FOUND HTTP / 1.1 RFC 7231 、セクション6.5.4
405 METHOD_NOT_ALLOWED HTTP / 1.1 RFC 7231 、セクション6.5.5
406 NOT_ACCEPTABLE HTTP / 1.1 RFC 7231 、セクション6.5.6
407 PROXY_AUTHENTICATION_REQUIRED HTTP /1.1認証 RFC 7235 、セクション3.2
408 REQUEST_TIMEOUT HTTP / 1.1 RFC 7231 、セクション6.5.7
409 CONFLICT HTTP / 1.1 RFC 7231 、セクション6.5.8
410 GONE HTTP / 1.1 RFC 7231 、セクション6.5.9
411 LENGTH_REQUIRED HTTP / 1.1 RFC 7231 、セクション6.5.10
412 PRECONDITION_FAILED HTTP / 1.1 RFC 7232 、セクション4.2
413 REQUEST_ENTITY_TOO_LARGE HTTP / 1.1 RFC 7231 、セクション6.5.11
414 REQUEST_URI_TOO_LONG HTTP / 1.1 RFC 7231 、セクション6.5.12
415 UNSUPPORTED_MEDIA_TYPE HTTP / 1.1 RFC 7231 、セクション6.5.13
416 REQUESTED_RANGE_NOT_SATISFIABLE HTTP /1.1範囲要求 RFC 7233 、セクション4.4
417 EXPECTATION_FAILED HTTP / 1.1 RFC 7231 、セクション6.5.14
421 MISDIRECTED_REQUEST HTTP / 2 RFC 7540 、セクション9.1.2
422 UNPROCESSABLE_ENTITY WebDAV RFC 4918 、セクション11.2
423 LOCKED WebDAV RFC 4918 、セクション11.3
424 FAILED_DEPENDENCY WebDAV RFC 4918 、セクション11.4
426 UPGRADE_REQUIRED HTTP / 1.1 RFC 7231 、セクション6.5.15
428 PRECONDITION_REQUIRED 追加のHTTPステータスコード RFC 6585
429 TOO_MANY_REQUESTS 追加のHTTPステータスコード RFC 6585
431 REQUEST_HEADER_FIELDS_TOO_LARGE 追加のHTTPステータスコード RFC 6585
451 UNAVAILABLE_FOR_LEGAL_REASONS 法的障害を報告するためのHTTPステータスコード RFC 7725
500 INTERNAL_SERVER_ERROR HTTP / 1.1 RFC 7231 、セクション6.6.1
501 NOT_IMPLEMENTED HTTP / 1.1 RFC 7231 、セクション6.6.2
502 BAD_GATEWAY HTTP / 1.1 RFC 7231 、セクション6.6.3
503 SERVICE_UNAVAILABLE HTTP / 1.1 RFC 7231 、セクション6.6.4
504 GATEWAY_TIMEOUT HTTP / 1.1 RFC 7231 、セクション6.6.5
505 HTTP_VERSION_NOT_SUPPORTED HTTP / 1.1 RFC 7231 、セクション6.6.6
506 VARIANT_ALSO_NEGOTIATES HTTPでの透過的なコンテンツネゴシエーション RFC 2295 、セクション8.1(実験的)
507 INSUFFICIENT_STORAGE WebDAV RFC 4918 、セクション11.5
508 LOOP_DETECTED WebDAVバインディング拡張機能 RFC 5842 、セクション7.2(実験的)
510 NOT_EXTENDED HTTP拡張フレームワーク RFC 2774 、セクション7(実験的)
511 NETWORK_AUTHENTICATION_REQUIRED 追加のHTTPステータスコード RFC 6585 、セクション6

下位互換性を維持するために、列挙値は http.client モジュールにも定数の形式で存在します。 列挙型の名前は定数名と同じです(つまり、 http.HTTPStatus.OKhttp.client.OKとしても利用できます。

バージョン3.7で変更: 421 MISDIRECTED_REQUESTステータスコードを追加しました。


バージョン3.8の新機能: 451 UNAVAILABLE_FOR_LEGAL_REASONSステータスコードを追加しました。