0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

webを支える技術-学びとなったことの書き出し-

0
Last updated at Posted at 2019-07-02

URIはリソースを表現する名詞にする

URIにはメソッド名、セッションIDなどは含めないようにしよう。
プログラミング言語に依存した拡張子なども含めないようにするべき。

拡張子でファイルの性質を表現することもありっちゃあり

https://example.test/text.ja
https://example.test/text.en
というようにしてリソースを分けることもして良いらしい。

マトリクスURI

階層構造を表現するスラッシュの代わりに、;で区切ってリソースを表現することができる。
https://example.test/hoge/par1=1234;par2=5678
セミコロンで区切っても良いということは知らなかった・・・。

HTTP通信の流れ

1.クライアントがリクエストを作成する
2.ネット接続からDNSを利用して名前解決を行う
3.NSからNSをまたぎ、目的のホストを見つける
4.見つけたらそこに対してリクエストがたどり着く
5.ホストはリクエストの内容によってレスポンスを元の経路を辿って返す
6.例えばhtmlが返ってきたときに、スタイルシートや画像などのリソース元が書いている場合は手元のコンテンツが十分になるまでクライアントはリクエストを発行し続ける。

HTTPメソッド

DELETEの冪等性

1回目のリクエストでリソース削除が成功し、200が返ってきて
2回目のリクエストではリソースが存在していないので404が返ってくるが
両方ともリソースは削除されている(存在していない)という同じ情報を受け取っているので冪等性があると言える。
また、エイリアスリソースのような特殊なリソース(リソースの中身が状況によって変化するようなリソース)は特別な理由がない限りは削除しないようにするべきである。

PUTの冪等性

リソース内容の相対的な差分を送信すると、PUTは冪等性をなくす。なるべく完全な表現を送信するようにするべき。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?