IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

スーパーエンジニアの独り言

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第14回 夜と霧 2012年8月

「404 Not Found」という表示をどこかで見た経験があることでしょう。

 このブラウザで表示されるメッセージは、HTTPのステータスです。
 クライアントであるウェブブラウザから送信されるHTTPリクエストに対してサーバであるウェブサーバからのHTTPレスポンスに埋め込まれる情報です。
 ステータスは、三桁の数字(コード)で表現されます。
 ステータスコードは該当する要求に対する態度とも言えましょう。

 以下にRFCで規定されているステータスコード(一部)を列記します。

Informational 1xx
100Continue
101Switching Protocol
2xx Successful 2xx
200OK
201Created
202Accepted
203Non-Authoritative Information
204No Content
205Reset Content
206Partial Content
Redirection 3xx
300Multiple Choices
301Moved Permanently
302Found
303See Other
304Not Modified
305Use Proxy
306(Unused)
307Temporary Redirect
Client Error 4xx
400Bad Request
401Unauthorized
402Payment Required
403Forbidden
404Not Found
405Method Not Allowed
406Not Acceptable
407Proxy Authentication Required
408Request Timeout
409Conflict
410Gone
411Length Required
412Precondition Failed
413Request Entity Too Large
414Request-URI Too Long
415Unsupported Media Type
416Requested Range Not Satisfiable
417Expectation Failed
Server Error 5xx
500Internal Server Error
501Not Implemented
502Bad Gateway
503Service Unavailable
504Gateway Timeout
505HTTP Version Not Supported

 コードの最初の数字がカテゴリを示します。
 例えば、200番台はリクエストが受理された事を示し、400番台はクライアントに起因するエラー、500番台はサーバが処理に失敗、をそれぞれ意味します。

 ステータスコードはウェブサーバのみならず、ウェブアプリケーションを作成する際に必要となる場合があります。これは送信されるリクエストに対して、どの様に応答するかをウェブアプリケーションで決める場合もあるからです。

 例えば、100(Continue)は通信量を減らすため工夫です。クライアントからの 要求にサーバが「継続」を認めるステータスコードです。クライアントは、100番を受け取った後、データ本文であるボディ部分を送信します。反対にサーバが要求を受け付けられない場合には、400番台のスータスコードを返します。例えば、417(Expectation Failed) つまり「継続不可」です。
 これにより無駄な通信を減らすという仕組みです。

 詳細はHypertext Transfer Protocol -- HTTP/1.1(RFC 2616)をご参照ください。
 またHyper Text Coffee Pot Control Protocol(HTCPCP/1.0)(RFC 2324) もご興味があれば、併せてどうぞ御覧ください。

 ウェブサーバは特定状況における態度をルールで決められていますが、人間は「その状況に対する態度を決める自由」を持っているのだとヴィクトール・エミール・フランクル(Viktor Emil Frankl)は述べています。
 彼の著書である「夜と霧」(原題「それでも人生に然りと言う」所収の「一人の心理学者が強制収容所を体験する」)で力強く語っています。

 どのような状況でも、それに対峙する態度を決めるのは自分である。
 意思の自由は何人たりとも奪うことの出来ない、個としての存在意義なのだと説いています。様々な問題を抱える我々一人ひとりにフランクルからの心強いエールであると理解し日々を邁進したいと心の底から思う次第です。

 では、次回もお楽しみに。

 >> CTC教育サービス HOME

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes