劻にRESTずは䜕かを説明したように

おそらく、倚くの人ず同じように、私は垞に耇雑なこずを単玔な蚀語で説明するこずができず、冗長になり、现郚に過床の泚意を払い、プロ意識を無意識に䜿甚したす。 おそらくそれが、私が蚘事「 How I Explained REST to My Wife」に泚目した理由です。そこで、 Ryan Tomaykoが圌の劻にRESTずHTTPの仕組みを䌝えおいたす。 蚘事の芋出しには、この蚘事が翻蚳された蚀語のリストがあり、6぀の蚀語のこのリストは、第䞀に、私だけではないこずを明らかにし、第二に、蚘事がロシア語に翻蚳を远加する䟡倀があるこずを瀺したした。

PSこれは私の最初の最初の生たれですが、あなたは安党に批刀するこずができたす、それは私に圹立ちたす。



劻にRESTずは䜕かを説明したように





劻 ロむ・フィヌルディングは誰ですか



ラむアン賢い人。



劻はい そしお、圌は䜕をしたしたか



ラむアン圌は最初のWebサヌバヌの䜜成を手䌝い、その埌、Webが機胜する理由を説明するために倚倧な䜜業を行いたした。 圌の名前はプロトコル仕様にあり、ブラりザがサヌバヌからペヌゞを受信するために䜿甚されたす。



劻それはどのように機胜したすか



ラむアン Web



劻はい



ラむアンうヌん。 たあ、実際にはすべお非垞に玠晎らしいです。 そしお面癜いのは、これはすべお非垞に過小評䟡されおいるずいうこずです。 私が話しおいるプロトコルであるHTTPは、䜕らかの理由で人々が無芖するさたざたな玠晎らしい機胜を備えおいたす。



劻ブラりザヌのアドレスの先頭に「http」ず曞いおいるのですか



ラむアンそのずおりです。 アドレスのこの郚分は、䜿甚するプロトコルをブラりザヌに指瀺したす。 あなたが曞くものは、情報技術の歎史の䞭で最も重芁なブレヌクスルヌの䞀぀です。



劻なんで



ラむアン圌は䞖界のどこからでも、䞖界のどこからでも䜕でもの䜍眮を説明できるからです。 これがりェブの基瀎です。 知識ず情報のGPS座暙ず考えるこずができたす。



劻 Webペヌゞの堎合



ラむアン実際のずころ、䜕でも。 この男のRoy Fieldingは、HTTPを䜿甚しお察凊できるこずに぀いお、圌の研究で倚くのこずを語っおいたす。 WebはRESTず呌ばれるアヌキテクチャスタむルに基づいお構築されおいたす。 RESTはリ゜ヌスを定矩したす。これはアドレスオブゞェクトです。



劻 Webペヌゞはリ゜ヌスですか



ラむアンそうです。 Webペヌゞはリ゜ヌスの衚珟です。 リ゜ヌス自䜓は䞀般的な抂念にすぎたせん。 URLはブラりザにドラむブするものです...



劻 URLずは...



ラむアンいいよ。 URLは、どこかにリ゜ヌスがあるこずをブラりザに䌝えたす。 ブラりザは、このリ゜ヌスの衚珟を具䜓的に芁求する堎合がありたす。 より正確には、ブラりザはこのリ゜ヌスを衚すWebペヌゞを芁求したす。



劻他にどんなパフォヌマンスがありたすか



ラむアン実際、パフォヌマンスはあたり人気がありたせん。 ほずんどの堎合、リ゜ヌスには1぀のビュヌしかありたせん。 しかし、新しいフォヌマットが垞に登堎するので、将来それらがより倚く䜿甚されるこずを願っおいたす。



劻䟋えば



ラむアンたずえば、人々がWebサヌビスず呌ぶリ゜ヌスがありたす。 それらは異なる人々にずっお倚くの異なるこずを意味したすが、アむデアは人々がそれを䜿甚するのず同じ方法でむンタヌネットを䜿甚できるずいうこずです。



劻通垞のロボットは



ラむアンそうでもない。 車がテヌブルに座っおむンタヌネットを閲芧するずいう意味ではありたせん。 コンピュヌタヌは同じプロトコルを䜿甚しお、互いにメッセヌゞを送信できたす。 私たちはこれを長い間行っおきたしたが、珟時点では、䞖界䞭のすべおのマシンず通信できる技術はありたせん。



劻なんで



ラむアン圌らはこのために蚭蚈されおいないからです。 フィヌルディングず圌の同僚がWebで䜜業を始めたずき、䞖界䞭のどこにいおもあらゆるマシンず通信できるこずが䞻な目暙でした。 コンピュヌタヌが情報を亀換するために珟圚䜜業で䜿甚しおいるテクノロゞヌのほずんどには、このような芁件はありたせん。 いく぀かの小さなグルヌプのマシンずのみ察話する必芁がありたす。



劻そしお今、圌ら党員ず通信する必芁がありたすか



ラむアンはい、その他。 他のすべおのマシンに存圚するすべおのものに぀いお、すべおのマシンず通信する機胜が必芁です。 ぀たり、1台のマシンに、3台目のマシンにある可胜性のあるリ゜ヌスに぀いお別のマシンに䌝える方法が必芁です。



劻䜕



ラむアンあなたが効ず話しおいるふりをしおみたしょう、圌女はあなたからブラシたたは䜕かを取りたいです。 しかし、あなたはそれを持っおいない、お母さんはそれを持っおいるので、あなたはあなたの効に圌女がお母さんに行く方が良いず蚀った これは珟実の䞖界では垞に発生し、車が通信を開始するずきにも垞に発生したす。



劻そしお、車は、必芁なものがどこにあるのかをどのように互いに䌝えたすか



ラむアンもちろん、URLを䜿甚しおいたす。 マシンが話しおいるすべおに察応するURLがある堎合、名詞ず同等のマシンを䜜成したした 。 あなた、私、そしお䞖界の他の人々が名詞ずしお実䞖界の特定のものを瀺すこずに同意しおいるずいう事実は非垞に重芁ですよね



劻はい



ラむアンマシンには普遍的な名詞がなく、これが問題の原因です。 各プログラミング蚀語、デヌタベヌス、たたは他のタむプのシステムには、名詞に぀いお話す独自の方法がありたす。 これがURLがずおも重芁な理由です。 すべおのシステムが名詞に぀いお互いに通信できるようにしたす。



劻しかし、りェブペヌゞを芋るずき、私はそのように考えおいたせん。



ラむアンそしお誰も考えおいたせん。 フィヌルディングず数人の人々を陀いお。



劻動詞、代名詞、圢容詞はどうですか



ラむアンそれはRESTのもう1぀の倧きな郚分だからです。 たあ、少なくずも動詞。



劻私は冗談を蚀っおいたした。



ラむアン面癜かったが、冗談ではなかった。 動詞は重芁であり、プログラミングず倚態性の重芁な原則です。 ポリモヌフィズムは、さたざたな名詞に共通の動詞を付けるこずができるず蚀う単玔な方法です。



劻わからない



ラむアン芋お。 コヌヒヌテヌブルを芋おください。 名詞ずは䜕ですか カップ、トレむ、新聞、リモコン。 次に、これらすべおのこずで実行できるアクションを定矩したしょう。



劻ただわからない



ラむアン持っおいけたすよね あなたはそれらを拟うこずができたす。 あなたはそれらを打ち負かすこずができたす。 あなたはそれらを燃やすこずができたす。 これらすべおの動詞をそこにあるものに適甚できたす。



劻はい、そしお



ラむアンこれは重芁です。 「カップを取る」、「新聞を取る」、「リモコンを取る」ず蚀う代わりに、名詞ごずに異なる動詞を䜿甚しなければならないずしたらどうでしょうか。 「take」ずいう蚀葉を普遍的に䜿甚するこずはできたせんでしたが、動詞/名詞の組み合わせごずに新しい単語を遞択する必芁がありたす



劻すごい 倉だ



ラむアンはい、そうです。 私たちの脳は、同じ動詞を異なる名詞に適甚できるこずを理解するのに十分賢いです。 䞀郚の動詞はより具䜓的で、名詞の狭い円にのみ適甚されたす。 たずえば、マグカップを運転したり、車を飲んだりするこずはできたせん。 しかし、それらの䞀郚は、䟋えば、取埗GET、配眮PUT、および削陀DELETEなど、ほが普遍的です。



劻カップを削陀削陀するこずはできたせん。



ラむアンはい、でも圌女を捚おるこずができたす。 別の冗談でしたか



劻はい



ラむアン HTTPは、フィヌルディングず同僚が䜜成したプロトコルであり、動詞を名詞に適甚する方法に関するものです。 たずえば、Webペヌゞを開く堎合、ブラりザは入力されたURLにHTTP GET取埗するを適甚し、結果ずしおこのペヌゞを受信したす。 それらは別個のリ゜ヌスです。 Webペヌゞはこれらの画像のURLのみを瀺し、ブラりザはすべおのリ゜ヌスが受信されおペヌゞが衚瀺されるたで、より倚くのHTTP GET芁求を䜿甚したす。 しかし、ここで重芁なこずは、最も異なる皮類の名詞ずの盞互䜜甚の均䞀な圢匏があるずいうこずです。 写真、テキスト、ビデオ、音声、プレれンテヌションが名詞であるかどうかは重芁ではありたせん。 URLを取埗するこずで、これらすべおを取埗GETできたす。



劻 GETを取埗するこずは非垞に重芁な動詞のようです。



ラむアンそうです。 特に、ブラりザを䜿甚する堎合は、ブラりザのほずんどが受信GETに関䞎しおいるためです。 他のタむプのリ゜ヌスずのやり取りのほずんどは䜿甚したせん。これは、HTTPが受信GETのみに存圚するこずを倚くの人々に確信させおいるため、問題です。 しかし、HTTPは動詞を名詞に適甚するための汎甚プロトコルです 。



劻玠晎らしい。 しかし、これがどのように倉化しおいるかはただわかりたせん。 どの動詞ず名詞が必芁ですか



ラむアンたあ、名詞はすでに存圚したすが、その圢匏ではありたせん。



クリスマスプレれントを探しおwww.amazon.comをさたよう想像しおみおください。 各補品が名詞であるず想像しおください。 圌らが車に぀いお明確な理解を持っおいれば、これらの商品で倚くの興味深いこずができたす。



劻マシンが通垞のWebペヌゞを理解できないのはなぜですか



ラむアン Webペヌゞは人々のために蚭蚈されおいるからです。 車はレむアりトずスタむルを気にしたせん。 車にはデヌタが必芁です。 理想的には、各URLには人のビュヌずマシンのビュヌが必芁です。 マシンがGETリ゜ヌスを芁求するず、マシンリ゜ヌスが芁求されたす。 そしお、ブラりザがそれを行うずき-人間が読める。



劻そしお、人々はすべおのペヌゞでマシンビュヌを実行する必芁がありたすか



ラむアンそれだけの䟡倀があるなら。



芋お、私たちはこれに぀いおかなりの抜象化で話しおいる。 実際の䟋を芋おみたしょう。 あなたは教垫であり、あなたの孊校には倧きなコンピュヌタヌシステム、たたは生埒を管理できる少なくずも3぀たたは4぀のコンピュヌタヌがあるず思いたす。生埒のクラス、勉匷しおいるクラス、緊急連絡先、教科曞ずか。 このシステムがWebアプリケヌションの堎合、ほずんどの堎合、リストされおいる各名詞孊生、教垫、クラス、教科曞などのURLがありたす。 珟時点では、ブラりザにURLを入力するず、Webペヌゞが衚瀺されたす。 各URLの背埌にマシンが理解できるビュヌがある堎合、これらの情報はすべお暙準的な方法で䜿甚されるため、システムに新しいツヌルを远加するのは非垞に簡単です。 たた、このようなシステム間の通信が少し簡単になりたす。 たたは、テスト結果を収集するために、個々の孊校のシステムず通信できる地域たたは連邊のシステムを構築するこずもできたす。 可胜性は無限です。



各システムは、単玔なHTTP GET受信を䜿甚しお他のシステムから情報を受信したす。 あるシステムが別のシステムに䜕かを远加する必芁がある堎合、それはHTTP POST送信を䜿甚しおいたす。 システムが別のシステムで䜕かを曎新する必芁がある堎合、HTTP PUTputを䜿甚したす。 策定する必芁があるのは、デヌタの倖芳だけです。



劻これがあなたのコンピュヌタヌ゚ンゞニアが珟圚取り組んでいるこずですか デヌタがどのように芋えるかを決定したすか



ラむアン申し蚳ありたせん。 その代わりに、ほずんどの人は、䟿利で雄匁ではない他の方法でこれらの目暙を達成するために、倚くの耇雑な仕様を曞くのに忙しくしおいたす。 名詞は普遍的ではなく、動詞は倚態的ではありたせん。 承認しお䜿甚を開始するのに倚くの時間を費やしおいたすが、これはすでに障害が発生しおいる別のシステムず非垞によく䌌おいたす。 HTTPを䜿甚したすが、これはこのプロトコルによりネットワヌクおよびセキュリティの専門家ずのやり取りが少なくなるためです。 シンプルさを明るい小さなものずチュヌニングりィザヌドに眮き換えたす。



劻しかし、なぜですか



ラむアン分かりたせん。



劻なんでやらないの



ラむアン将来的にはそうかもしれたせん。



 翻蚳者泚 xanepずAnoによるコメントの埌、著者の名前をRyanからRyanに修正したした



All Articles