こちらの記事ではステータスコード2xxについて詳しく解説を行います。
ステータスコード2xxはサーバーがリクエストを正しく受信し正常に機能している事を表します。
2xxはエラーコードとは違い、処理が正常に行えた場合や問題なく処理を行なっている最中に返されます。例えばウェブサーバーより200を受信していればリクエストしたコンテンツを正常に閲覧出来ている状態と言えます。
ステータスコードはクライアントのリクエストに対して、サーバーからの処理結果として返されています。ステータスコードはHTTPで定められたレスポンス行に記載されています。
httpステータスコードについての解説ははこちらの記事をご覧ください。
https://envader.plus/article/29
HTTPとは?
HTTP(HyperText Transfer Protocol)とはWebサーバーとクライアント間でWeb情報をやりとりする為のプロトコル(通信規則)です。ホームページで検索を行ったりする際はこのHTTPを使用してWebサーバーとクライアント間でやり取りが行われます。HTTPはクライアントが送信するリクエストとサーバーが応答するレスポンスで通信が確立しています。リクエストとレスポンスは以下の内容となっています。
HTTPリクエスト
行 | 説明 |
---|---|
リクエスト行 | 依頼した処理情報(メソッド、URL、HTTPのバージョン)が記載されています。 |
メッセージヘッダー行 | ブラウザ情報や言語、データタイプなどが記載されています。 |
メッセージボディ行 | ブラウザからサーバーへ送りたい情報がある場合などに記載されます。 |
HTTPレスポンス
行 | 説明 |
---|---|
ステータス行 | リクエストした依頼に対して、サーバーからの処理結果が記載されます。 |
メッセージヘッダー行 | ブラウザ情報や言語、データタイプなどが記載されています。 |
メッセージボディ行 | リクエストしたHTMLや画像など、ブラウザに表示するデータが記載されています。 |
HTTPステータスコードはこのHTTPレスポンス内のステータス行にあたります。ステータスコードは3桁の数字で構成されており、その数字を基にサーバーが正常に処理を行えているのか、サーバーもしくはクライアント側で何かエラーが発生しているかなどを把握する事が出来ます。
またHTTP通信にはSSL/TLSプロトコルで暗号化されたHTTPS(Hytertext Transfer Protocol Secure)通信も存在します。HTTPSはネットバンキングやクレジットカード決済など個人情報の登録や編集を行うようなケースで使用をされます。現在サーバーと行なっている通信がHTTPの場合はURLが「http://」から始まり、暗号化されているHTTPSの場合は「https://」から始まる為、URLを見る事でどちらで通信が行われているか確認が行えます。
ステータスコード2xx一覧表
次が主要な2xxステータスコードです。ステータスコード2xxは正常な処理を行えた事を意味しますが、205のようなクライアント側への操作を要求するコードも存在します。
コード番号 | 意味 | 説明 |
---|---|---|
200 | OK | ユーザーからのリクエストが正しく処理され、要求された内容が返信されます。 |
201 | Created | リクエストが成功し、新たに作成されたリソースのURLが返されます。一般的にPOSTリクエストや、一部のPUTリクエストを送信した後のレスポンスになります。 |
202 | Accepted | リクエストは受理されたが、処理は完了してない状態です。 |
203 | Non-Authoritative Information | リクエストの内容に対しオリジナル以外の情報を含み信頼出来ない場合に返されます。 |
204 | No Content | リクエストを正常に処理したものの、返すべきコンテンツが存在しないことを意味します。 |
205 | Reset Content | リクエストを正常に処理したものの、ユーザーエージェントに対し、リクエストを送信したウェブブラウザの画面をリセットするよう返されます。 |
206 | Partial Content | 部分的GETリクエストを受理したときに、返されます。 |
207 | Multi-Status | 複数のステータスコードが存在する際に返されます。(WebDAVの拡張ステータスコード) |
208 | Already Reported | 既に、結果を報告済みであることを表す。(WebDAVの拡張ステータスコード) |
226 | IM Used | IM(instance manipulation)を使用している(Delta encoding in HTTPの拡張ステータスコード |
まとめ
ステータスコード2xxはクライアントのリクエストをサーバーが正常に処理したことを表します。
エラーコードと異なり、リクエストを行なったWebページそのものが表示をされる為、普段2xxのステータスコード自体を目にする機会はありません。ですがWebサーバーへリクエストを行なった場合は必ずレスポンスとしてステータスコードが返されており、正常にWebページが表示されている場合は200、リソースの削除を行なった場合は204など様々なステータスコードが返されている為ブラウザの開発者モードなどで確認をしてみましょう。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2023.02.09
GraphQLとREST:API技術の選択に悩んでいる方へ
GraphQLとはFacebook社により開発されたAPI向けのクエリ言語、およびそのランタイムを指します。
- WEB
2023.01.22
Webサーバとは?役割や種類について
今回はWebサーバの役割や種類、サーバーソフトウェアについて解説を行なっていきます。
- WEB
2023.02.13
【SEO対策】メタタグとは?SEOに重要なタグの種類や使い方について解説
メタタグ(meta情報)とは検索エンジンやブラウザに対して、Webページの情報を伝えるためのHTMLタグを指します。
- SEO
- WEB