Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web技術の基本 2回目 / Introduction to Web technologies...

muttan
December 22, 2017

Web技術の基本 2回目 / Introduction to Web technologies 2nd class

muttan

December 22, 2017
Tweet

More Decks by muttan

Other Decks in Technology

Transcript

  1. WebΛ࣮ݱ͢ΔίϯϐϡʔλωοτϫʔΫ • Πϯλʔωοτ
 ੈքதͷLANʢࣗ୐΍ձࣾ, ֶߍͳͲͷൣғͷωοτϫʔ Ϋʣಉ࢜Λ઀ଓͨ͠, ੈքن໛ͷେ͖ͳωοτϫʔΫͷ͜ ͱ. ΋ͬͱ͍͏ͱ, IPΛ࢖༻ͨ͠ੈքن໛ͷωοτϫʔΫͷ

    ͜ͱΛΠϯλʔωοτͱݺͿ[1] ‣ ӡӦ͍ͯ͠Δͷ͸, ڧ͍ͯݴ͑͹ICANN(The Internet Corporation for Assinged Names and Numbers)ͱ IETF(Internet Engineering Task Force) [1] https://www.nic.ad.jp/ja/basics/beginners/internet.html
  2. WebΛ࣮ݱ͢ΔίϯϐϡʔλωοτϫʔΫ ΠϯλʔωοτΛ઀ଓ͢ΔϓϩόΠμ(ISP)͸, ֊૚ߏ଄ʹ ͳͬͯͭͳ͕͍ͬͯΔ. → IXʹͭͳ͕͍ͬͯΔ(ຢ͸, ௚઀ͭͳ͕͍ͬͯΔ) • Internet Exchange(IX)


    ϓϩόΠμʔಉ࢜Λ઀ଓ͢Δڌ఺. IX͕͋Δ͜ͱͰ, ϓϩ όΠμಉ͕࢜௚઀઀ଓ͢Δඞཁ͕ͳ͘ճઢͷ਺ΛݮΒ͢ ͜ͱ͕ग़དྷΔ → 2010೥9݄ͷ࣌఺Ͱ͓Αͦ300ͷIX͕ଘࡏ
  3. WebΛ࣮ݱ͢ΔίϯϐϡʔλωοτϫʔΫ ࣍ *41 ࣍ *41 ࣍ *41 ࣍ *41 ࣍

    *41 ࣍ *41 *9 *9 ࣍ *41 ࠃ಺ *9 *41 *41 ւ֎ *9 *41 *41 ւ֎ LAN ࣍*41ಉ࢜Λ݁Ϳ
  4. ϓϩτίϧͱ͸ ୈ/ ૚ ୈ/૚ ୈ/૚ ୈ/ ૚ ୈ/૚ ୈ/૚ ϓϩτίϧ

    ϓϩτίϧ ϓϩτίϧ ఻ૹ࿏ ΠϯλϑΣʔε ΠϯλϑΣʔε ΠϯλϑΣʔε ΠϯλϑΣʔε ίϯϐϡʔλA ίϯϐϡʔλB ಉ͡૚ಉ࢜ͷ໿ଋࣄ ػೳΛ ఏڙ
  5. ϓϩτίϧඪ४Խͷྺ࢙ • TCP/IP(1980೥୅)
 UNIX͸ಠࣗͷωοτϫʔΫΞʔΩςΫνϟΛ࠾༻ ‣ ౰࣌, UNIX͸ֶज़ݚڀ༻Ͱ഑෍͞Ε͍ͯͨ ‣ ΧϦϑΥϧχΞେֶόʔΫϨʔߍͷBill Joy͕BSD

    UNIXΛ࡞੒ ͠, ͦ͜ʹTCP/IP͕࣮૷͞Εͨ(1981೥RFCެ։, 1983೥࣮૷) → ιʔείʔυ͕ެ։͞Ε͍ͯͨͷͰ, ݚڀऀΛ࢝Ί༷ʑͳਓ ͕ӾཡՄೳͩͬͨ → TCP/IP͕ීٴ OSIϓϩτίϧ஀ੜͷཪͰ…
  6. TCP/IPͱ͸ • TCP/IP
 Πϯλʔωοτʹ઀ଓ͢ΔͨΊͷ௨৴ϓϩτίϧҰࣜ ϓϩτίϧ
 ʢུশʣ ϓϩτίϧʢϑϧωʔϜʣ ༻్ )551 )ZQFS5FYU5SBOTGFS

    1SPUPDPM 8FCϒϥ΢βͱαʔόͷؒͰσʔλͷ΍ ΓऔΓΛ͢Δ࣌ʹ࢖༻ '51 'JMF5SBOTGFS1SPUPDPM ίϯϐϡʔλؒͰϑΝΠϧΛ΍ΓͱΓ͢Δ ͷʹ࢖༻ 4.51 4JNQMF.BJM5SBOTGFS 1SPUPDPM ిࢠϝʔϧΛૹ৴͢Δ࣌ʹ࢖༻ 101 1PTU0⒏DF1SPUPDPM ϝʔϧαʔό͔Βࣗ෼ͷϝʔϧΛऔΓग़͢ ࣌ʹ࢖༻͢Δ ϓϩτίϧͷྫ
  7. TCP/IPͱ͸ ͦΕͧΕͷ૚͸, ࣍ͷΑ͏ͳ໾ׂΛ͍࣋ͬͯΔ ֤૚ͷ໾ׂ 5$1*1 ໾ׂ ΞϓϦέʔγϣϯ૚ ΞϓϦέʔγϣϯ͝ͱͷ΍ΓऔΓΛ نఆ τϥϯεϙʔτ૚

    σʔλͷ෼ׂํ๏ ඼࣭ͳͲΛنఆ Πϯλʔωοτ૚ ωοτϫʔΫؒͷ௨৴Λنఆ ωοτϫʔΫΠϯλʔϑΣʔε૚ ίωΫλܗঢ়΍प೾਺ͳͲ 
 ෺ཧతͳ࢓༷Λنఆ
  8. ֤૚ͷػೳʢΞϓϦέʔγϣϯ૚ʣ • ૹ৴ϘλϯΛԡ͢ͱ, ΞϓϦέʔγϣϯϓϩτίϧͷॲཧ͕։࢝ ‣ ࣍ͷΑ͏ͳ৘ใ͕ϔομͱͯ͠෇༩͞ΕΔ - ຊจͷ৘ใ - Ѽઌ͸Ͳ͔͜

    • ड৴ଆ͸, ૹΒΕ͖ͯͨϔομͱσʔλΛղੳͯ͠, HDDʹอଘ͢ ΔͳͲඞཁͳॲཧΛߦ͏ ‣ ͏·͘ड৴Ͱ͖ͳ͍৔߹͸, ΤϥʔϝοηʔδΛฦ͢ʢΞϓϦ έʔγϣϯݻ༗ͷΤϥʔॲཧʣ ‣ ϝʔϧΛૹ৴ͯ͠, ड৴ଆ͕ిࢠϝʔϧΛ֨ೲ͢Δͱ͜Ζ·ͰΛ ΞϓϦέʔγϣϯ૚͕ߦ͍ͬͯΔ
  9. ֤૚ͷػೳʢϓϨθϯςʔγϣϯ૚ʣ • ίϯϐϡʔλͷγεςϜʹΑͬͯ, σʔλͷදݱܗࣜ(จ ࣈίʔυͳͲ)͸ҟͳΔ ‣ ૹ৴ଆ, ड৴ଆͰ࢖͍ͬͯΔιϑτ΍OS͕ҟͳΔͱ, ظ଴ͨ͠ͱ͓Γͷද͕ࣔ͞Εͳ͍ࣄ͕͋Δ •

    ʮίϯϐϡʔλݻ༗ͷදݱํࣜʯ͔ΒʮωοτϫʔΫ શମͰڞ௨ͷදݱํࣜʯʹม׵͠, ड৴ݩͰʮίϯ ϐϡʔλݻ༗ͷදݱํࣜʯʹ໭͢ͷ͕ϓϨθϯςʔ γϣϯ૚
  10. ֤૚ͷػೳʢηογϣϯ૚ʣ • ηογϣϯ
 ؔ࿈ͷ͋Δ1࿈ͷॲཧͷ։͔࢝Βऴྃ·Ͱͷશظؒ ૹ৴ଆ ड৴ଆ ϝʔϧૹ৴։࢝ OK From :

    xxxx ૹ৴ OK To : xxxx ૹ৴ OK ຊจ ૹ৴ OK ηογϣϯ ίωΫγϣϯ ड͚ख֬ೝ ૹΓख֬ೝ
  11. ֤૚ͷػೳʢτϥϯεϙʔτ૚ʣ • ηογϣϯ૚ͷࢦࣔʹैͬͯ, ࣮ࡍʹίωΫγϣϯΛཱ֬, ։์Λ ߦ͏ ‣ ϗετؒͷ࿦ཧతͳ௨৴खஈΛ࡞Δ • ύέοτΛద੾ͳΞϓϦέʔγϣϯʹৼΓ෼͚

    • ΞϓϦέʔγϣϯʹదͨ͠σʔλͷ඼࣭อূ ‣ 1bitͷޡΓ΋ڐ͞Εͳ͍σʔλ(E-mail, FTP, etc…) - ίωΫγϣϯܕ௨৴ ‣ σʔλͷਖ਼֬ੑΑΓ΋, ࿈ଓੑ͕ॏཁͳσʔλ(ετϦʔϛϯά σʔλ) - ίωΫγϣϯϨεܕ௨৴
  12. • ωοτϫʔΫͱωοτϫʔΫ͕઀ଓ͞Εͨ؀ڥͰ, ૹ৴ ϗετ͔Βड৴ϗετ·ͰσʔλΛಧ͚Δ ֤૚ͷػೳʢωοτϫʔΫ૚ʣ Ethernet Ethernet ATM PPP (ઐ༻ઢ)

    ATM σʔλϦϯΫ૚͸1۠ؒͷ௨৴Λ࣮ݱ ωοτϫʔΫ૚͸࠷ऴ໨త஍·Ͱͷ௨৴(End to End)࣮ݱ σʔλϦϯΫ૚ ωοτϫʔΫ૚
  13. • ͜ΕΒͷػೳΛ࣮ݱ͢Δʹ͸, ҎԼͷ2఺͕ඞཁ ‣ Ѽઌ(ΞυϨε)ͷ؅ཧ - IPΞυϨεΛ༻͍ͯ؅ཧ ‣ ܦ࿏੍ޚ -

    ϧʔλΛ༻͍ͯܦ࿏੍ޚ • IP(Internet Protocol)͕͜ΕΒΛఏڙ͍ͯ͠Δ ֤૚ͷػೳʢωοτϫʔΫ૚ʣ
  14. • σʔλϦϯΫͱ͸
 
 
 
 ֤૚ͷػೳʢσʔλϦϯΫ૚ʣ Internet router router σʔλϦϯΫ

    σʔλϦϯΫ • ෺ཧతʹ௚઀ͭͳ͕͍ͬͯΔϊʔυؒͷ௨৴Λ࣮ݱ ྡ઀ؒϊʔυ ྡ઀ؒϊʔυͰ͸ແ͍ ྡ઀ؒϊʔυͰ͸ແ͍ ಉҰϦϯΫ্ʹ͋Δ router router
  15. IPΞυϨεͱϙʔτ൪߸ *1ΞυϨεͷ
 ෼ྨ ར༻༻్ ؅ཧ૊৫ આ໌ άϩʔόϧ*1 ΠϯλʔωοτͰ ͷ௨৴ *$"//ͱ


    ͦͷԼ෦૊৫ +1/*$౳ Πϯλʔωοτʹ ͓͍ͯҰҙͰͳ͚ Ε͹ͳΒͳ͍ ϓϥΠϕʔτ*1 -"/Ͱͷ௨৴ -"/ͷ
 ؅ཧ੹೚ऀ ɾಉҰ-"/಺ͰΞυ Ϩεʹॏෳ͕ͳ͍Α͏ ʹઃఆ ɾ֎෦ͱ઀ଓ͢Δͨ Ίʹ͸/"5͕ඞཁ ICANN : Internet Corporation for Assigned Names and Numbers JPNIC : Japan Network Information Center
  16. IPΞυϨεͱϙʔτ൪߸ • IPv4ͷΞυϨεݸ਺
 32bitͰදݱ͞ΕΔ → 2^32 → ໿43ԯݸ • IPv6ͷΞυϨεݸ਺


    128bitͰදݱ͞ΕΔ → 2^128 → ໿340׾ݸ
 340׾ͱ͸, 3.4×10^38ݸͷΞυϨε͕ଘࡏ͢Δ͜ͱʹͳ Δ. • ΞδΞଠฏ༸஍ҬͰ͸, IPv4ΞυϨε͸͢Ͱʹރׇ
 ʲࢀߟʳhttps://www.nic.ad.jp/ja/ip/ipv4pool/
  17. • ϙʔτ൪߸
 ΞϓϦέʔγϣϯΛࣝผ͢ΔͨΊͷΞυϨε ‣ IPΞυϨεͰ͸૬खͷίϯϐϡʔλΛಛఆ, σʔλϦϯΫͰͷ ૬खͷࣝผʹ͸MACΞυϨεΛ࢖༻ )551 DMJFOU 1035

    5$1 IPΞυϨεͱϙʔτ൪߸ '51
 αʔό 1035 5$1 44) αʔό
 1035 5$1 4.51 αʔό
 1035 5$1 )551 αʔό 1035 5$1 '51 DMJFOU 1035 5$1 %BUB *1 ϗετ 172.23.12.14 Ѽઌ͸ ϙʔτͰࣝผ
  18. • ϙʔτ൪߸͸ར༻Ͱ͖Δ਺ࣈͷൣғ͕ݶΒΕ͍ͯΔ(ܾ ΊΒΕ͍ͯΔ) IPΞυϨεͱϙʔτ൪߸ ϙʔτͷൣғ ϙʔτͷ෼ྨ આ໌ ʙ ΢Σϧϊ΢ϯϙʔτ 8FMMLOPXO1PSU

    ͢ͰʹαʔϏε΍ϓϩτίϧʹ
 ׂΓ౰ͯΒΕ͍ͯΔ ʙ Ϩδελʔυϙʔτ ιϑτ΢ΣΞϕϯμͷ
 ಠࣗΞϓϦέʔγϣϯͰ࢖༻ ʙ μΠφϛοΫϙʔτ ࣗ༝ʹ࢖༻Մೳ
  19. IPΞυϨεͱϙʔτ൪߸ ϙʔτ൪߸ αʔϏε໊ ಺༰  GUQ pMFUSBOTGFS <$POUSPM>  TTI

    44)3FNPUF-PHJO 1SPUPDPM  IUUQ 8PSME8JEF8FC )551  OUQ /FUXPSL5JNF 1SPUPDPM  IUUQT IUUQQSPUPDPMPWFS 5-444- ΢Σϧϊ΢ϯϙʔτͷྫ
  20. • URLͷߏจ URLͱυϝΠϯ http://example.com:80/index.html ᶃ ᶄ ᶅ ᶆ ໊শ ಺༰

    ᶃ εΩʔϜ໊ ϓϩτίϧͷࢦఆ
 IUUQ GUQ pMF FUDʜ ᶄ ϗετ໊ ઀ଓઌͷαʔόΛࢦఆ ᶅ ϙʔτ൪߸ ઀ଓઌͷαʔόͷϙʔτ൪߸
 ʢ௨ৗ͸লུՄೳʣ ᶆ ύε໊ ઀ଓઌͷࢿݯΛࢦఆ
  21. • ϗετ
 ωοτϫʔΫ಺ͷίϯϐϡʔλʹ෇͚ΒΕ໊ͨલ • υϝΠϯ
 ωοτϫʔΫʹ෇͚ΒΕ໊ͨલ URLͱυϝΠϯ XXX EC QD

    ϗετ໊ FYBNQMFDPN υϝΠϯ໊ XXXFYNBQMFDPN QDFYNBQMFDPN FQDN FQDN:Fully Qualified Domain Name ϗετ໊ͱυϝΠϯ໊ͱܨ͛ͨ΋ͷ
  22. DNS • DNS(Domain Name System)
 ϗετ໊ʢٴͼυϝΠϯ໊ʣͱIPΞυϨεͷରԠ෇͚Λޮ ཰Α͘؅ཧ͢ΔͨΊͷγεςϜ ‣ υϝΠϯΛ֊૚ߏ଄ʹͯ͠อ͍࣋ͯ͠Δ ‣

    ͜ͷγεςϜ͕͋Δ͜ͱͰ, ར༻ऀ͸IPΞυϨεΛ௚઀ ଧͭʢهԱ͓ͯ͘͠ʣඞཁ͕ͳ͍ ‣ ѼઌIPΞυϨε͕มߋʹͳͬͯ΋, DNSϨίʔυΛมߋ ͢Ε͹ྑ͍ - ར༻ऀ͸มΘΒͣFQDNͰΞΫηεՄೳ
  23. DNS root jp ed ac co ne u-fukui www com

    fr uk org ໊લ͸֊૚ߏ଄ʹͳ͍ͬͯΔ hamako-ths www mail ੺࿮ͰғΜͩwww͸ผ෺
  24. DNS root jp ed ac co ne u-fukui www com

    fr uk org ໊લ͸֊૚ߏ଄ʹͳ͍ͬͯΔ hamako-ths www mail hamako-thsυϝΠϯͷத͸, hamako-thsυϝΠϯͰ؅ཧ͢Δ
  25. DNS root jp ed ac co ne u-fukui www com

    fr uk org ໊લ͸֊૚ߏ଄ʹͳ͍ͬͯΔ hamako-ths www mail jpυϝΠϯͷத͸,jpυϝΠϯͰ؅ཧ͢Δ
  26. DNS ࣗυϝΠϯͷ DNSαʔό ΫϥΠΞϯτ ϧʔταʔό jpαʔό co.jpαʔό google.co.jp XXXHPPHMFDPKQͷ
 ΞυϨε͸ʁ

    XXXHPPHMFDPKQ͸Θ͔Βͳ͍ ͚Ͳ KQͳΒ஌ͬͯΔ*1ΞυϨ ε͸ YYYYYYYYY ໰ ͍ ߹ Θ ͤ ճ ౴
  27. DNS ࣗυϝΠϯͷ DNSαʔό ΫϥΠΞϯτ ϧʔταʔό jpαʔό co.jpαʔό ໰͍߹Θͤ google.co.jp XXXHPPHMFDPKQͷ


    ΞυϨε͸ʁ XXXHPPHMFDPKQ͸Θ͔Βͳ͍ ͚Ͳ DPKQͳΒ஌ͬͯΔ*1Ξυ Ϩε͸ YYYYYYYYY ճ౴
  28. DNS ࣗυϝΠϯͷ DNSαʔό ΫϥΠΞϯτ ϧʔταʔό jpαʔό co.jpαʔό ໰͍߹Θͤ google.co.jp XXXHPPHMFDPKQͷ


    ΞυϨε͸ʁ XXXHPPHMFDPKQ͸Θ͔Βͳ͍ ͚Ͳ HPPHMFDPKQͳΒ஌ͬͯΔ *1ΞυϨε͸ YYYYYYYYY ճ౴
  29. DNS ࣗυϝΠϯͷ DNSαʔό ΫϥΠΞϯτ ϧʔταʔό jpαʔό co.jpαʔό ճ౴ google.co.jp ໰

    ͍ ߹ Θ ͤ ճ ౴ ໰͍߹Θͤ ճ౴ ໰͍߹Θͤ ճ౴ ໰ ͍ ߹ Θ ͤ ճ ౴ ໰͍߹Θͤ ࠶ؼత໰͍߹Θͤ ɹʜ࠷ऴతͳ౴͑Λཁٻ ൓෮త໰͍߹Θͤ ʜ໨తͷ݁Ռ͕ಘΒΕΔ·Ͱ ໰͍߹ΘͤΛ܁Γฦ͢
  30. DNS • Ϧκϧό
 DNSαʔόʹ໰͍߹ΘͤΛ͢ΔϓϩάϥϜ ‣ ελϒϦκϧό - ࠶ؼత໰͍߹ΘͤΛ͢ΔϦκϧό - DNSΛར༻͢Διϑτʢϒϥ΢β౳ʣʹ૊ΈࠐΈࡁ

    ‣ ϑϧαʔϏεϦκϧό - ໊લղܾ͕׬ྃ͢Δ·Ͱ, ൓෮త໰͍߹ΘͤΛߦͳ͏Ϧκ ϧό - ϧʔταʔόͷIPΞυϨε͸ࣄલʹ஌͍ͬͯΔඞཁ͕͋Δ
  31. HTTP • HTTP(Hyper Text Transfer Protocol)
 ϋΠύʔςΩετͷ΍ΓऔΓΛඪ४Խͨ͠΋ͷ ‣ ϋΠύʔςΩετͷཁٻ, ૹ৴खॱ

    ‣ Webϖʔδ͕ଘࡏ͠ͳ͍৔߹, సૹ͢Δ৔߹ εςʔλείʔυ ҙຯ  ϦΫΤετ੒ޭ YY ϦμΠϨΫτ  ېࢭ͞Ε͍ͯΔ  ݟ͔ͭΒͳ͔ͬͨ खॱΛඪ४Խ͢Δ͜ͱͰ, ࡞੒ݩʹΑΔґଘΛݮΒ͢ ΩʔϫʔυɿHTTP
  32. ΫϥΠΞϯτͱαʔόͷ΍ΓऔΓʢ෮शʣ 5. ϨεϙϯεΛWebϒϥ΢β͕ղੳ͠දࣔ͢Δ
 ࣍ͷΑ͏ͳσʔλ͕ฦͬͯ͘Δ <!DOCTYPE html> <html lang="en"> <head> <meta

    charset="UTF-8"> <title>Document</title> </head> <body> <h1>d(^_^o)</h1> <img src="ha.png"> ͜Ε͸<a href="http://example.com/">ϦϯΫ</a>ͷྫͰ͢. </body> </html> ಘΒΕͨσʔλ͸Webϒϥ΢β͕ղऍͯ͠දࣔ
  33. ΫϥΠΞϯτͱαʔόͷ΍ΓऔΓʢ෮शʣ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head>

    <body> <h1>d(^_^o)</h1> <img src="ha.png"> ͜Ε͸<a href="http://example.com/">ϦϯΫ</a>ͷྫͰ͢. </body> </html> 1ͭͷϦΫΤετͰಘΒΕΔσʔλ͸1ͭͷΈ → ը૾σʔλͳͲ͸, ͋ΒͨΊͯϦΫΤετΛߦͳ͏
  34. ΫϥΠΞϯτͱαʔόͷ΍ΓऔΓʢ෮शʣ HTMLϖʔδΛಘͨ͋ͱ… ha.pngΛ͍ͩ͘͞ Ͳ͏ͧ(200 OK) <!DOCTYPE html> <html lang="en"> <head>

    <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>d(^_^o)</h1> <img src="ha.png"> ͜Ε͸<a href="http://example.com/">ϦϯΫ</a>ͷྫͰ͢. </body> </html>
  35. ΫϥΠΞϯτͱαʔόؒͷσʔλͷྲྀΕ )551 σʔλ )551 σʔλ TCP ϔομ )551 σʔλ TCP

    ϔομ IP ϔομ )551 σʔλ TCP ϔομ IP ϔομ Πʔαωοτ ϔομ )551 σʔλ )551 σʔλ TCP ϔομ )551 σʔλ TCP ϔομ IP ϔομ )551 σʔλ TCP ϔομ IP ϔομ Πʔαωοτ ϔομ ΞϓϦέʔγϣϯ૚ τϥϯεϙʔτ૚ Πϯλʔωοτ૚ ωοτϫʔΫ ΠϯλϑΣʔε૚ ԼҐ૚ʹ౉͞ΕΔࡍʹ ϔομ͕෇Ճ͞ΕΔ
 ʢΧϓηϧԽʣ ্Ґ૚ʹ౉͞ΕΔࡍʹ ࢖༻ࡁΈϔομ͕औΓ আ͔ΕΔ
 ʢඇΧϓηϧԽʣ
  36. ΫϥΠΞϯτͱαʔόؒͷσʔλͷྲྀΕ ૚ͷ໊শ ໊শ ΞϓϦέʔγϣϯ ϝοηʔδ ϓϨθϯςʔγϣϯ ϝοηʔδ ηογϣϯ ϝοηʔδ τϥϯεϙʔτ


    ʢίωΫγϣϯܕ௨৴ʣ ηάϝϯτ τϥϯεϙʔτ
 ʢίωΫγϣϯϨεܕ௨৴ʣ σʔλάϥϜ ωοτϫʔΫ σʔλάϥϜ σʔλϦϯΫ ϑϨʔϜ ωοτϫʔΫ૚͸
 ίωΫγϣϯϨεܕ௨৴