猫の魔法

主にruby系の技術メモを記載

[個人的メモ]Webを支える技術(その1)

公私共々忙し過ぎて、久々の更新。
少なくとも週1更新位のペースは維持したいが、どうなるやら…

少し前に「Webを支える技術」を買って読んだ。

普段何気なく使っているHTTPやHTMLと言ったWebの技術を、
特定のプログラム言語ではなく、その技術にフォーカスして学べるという意味ではとてもいい本だった。
忘れないように読んだ内容を記録しておく。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

2.6章 SOAPとRESTの歴史

Web系の話は大学時代に少し学んだ程度だったので、何故現在RESTが主流になったのかが記載されていたのはとても参考になった。
SOAPがRESTの対立項だったというのは知らなかった。

7.11章 べき等性と安全性

すぐ分からなくなる「べき等」という言葉。
「ある操作を何回行っても結果が同じこと」という説明がとてもしっくり来た。

また、メソッド毎にべき等と安全についての記載があるのは良かった。
下記の区分分けはとても分かり易かった。

  • べき等で安全:GET,HEAD
  • べき等で安全でない:PUT,DELETE
  • べき等でもなく安全でもない:POST

7.12章 PUTがべき等でなくなる例

PUTでべき等でなくなる例と、PUTでべき等である例が記載されていて、なるほどと思った。

PUT /pen/price HTTP/1.1
Host: hoge.jp
Content-Type: text/plain;

100

上記でペンの値段が+100円されるのであれば、もう一度同じリクエストを投げるとペンの値段がさらに+100円される事になる。
これは、結果が変わってしまう事になるので、べき等ではない。

逆に、上記でペンの値段が100円になるのであれば、もう一度同じリクエストを投げてもペンの値段は100円のままになる。
この場合、結果が変わらない為、べき等になる。

つまり、べき等かどうかはHTTPリクエストのそれのみで決まるのではなく、HTTPリクエストを受けた側がどう解釈するかが重要になる。

今日はここまで