
Chromeãšlynx
ãã©ãŠã¶ã¯ã¬ã³ããªã³ã°ãšã³ãžã³ã§ãã 圌ã®ä»äºã¯ãWebããŒãžãããŠã³ããŒãããŠã人éãèªãã圢åŒã§è¡šç€ºããããšã§ãã
ããã¯ã»ãšãã©ç¯çœªã®ç°¡çŽ åã§ãããçŸæç¹ã§ã¯ããã§ååã§ãã
- ãŠãŒã¶ãŒã¯ããã©ãŠã¶ã®å ¥åè¡ã«ã¢ãã¬ã¹ãå ¥åããŸãã
- ãã©ãŠã¶ã¯ããã®URLã§ãããã¥ã¡ã³ãããããŠã³ããŒãããŠè¡šç€ºããŸãã
ChromeãFirefoxãEdgeãSafariãªã©ã®æã人æ°ã®ãããã©ãŠã¶ãŒã®1ã€ã䜿çšããããšã«æ £ããŠãããããããŸããããããã¯äžçã«ä»ã®ãã©ãŠã¶ãŒããªããšããæå³ã§ã¯ãããŸããã
ããšãã°ã lynxã¯è»œéã®ã³ãã³ãã©ã€ã³ããã¹ããã©ãŠã¶ãŒã§ãã lynxã®äžå¿ã«ã¯ãä»ã®äž»æµã®ãã©ãŠã¶ãŒã§èŠãããã®ãšåãååããããŸãã ãŠãŒã¶ãŒãWebã¢ãã¬ã¹ïŒURLïŒãå ¥åãããšããã©ãŠã¶ãããã¥ã¡ã³ããããŠã³ããŒãããŠè¡šç€ºããŸããå¯äžã®éãã¯ãlynxã¯ã°ã©ãã£ãã¯ã¬ã³ããªã³ã°ãšã³ãžã³ã䜿çšãããããã¹ãã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããããšã§ãã

äžè¬ã«ããã©ãŠã¶ãäœãããã®ãã¯ããã£ãŠããŸããããããã®ç¬åµçãªã¢ããªã±ãŒã·ã§ã³ãå®è¡ããã¢ã¯ã·ã§ã³ã詳ããèŠãŠã¿ãŸãããã
ãã©ãŠã¶ã¯äœãããŸããïŒ
èŠããã«ããã©ãŠã¶ã¯åºæ¬çã«
- DNS解決
- HTTP亀æ
- ã¬ã³ããªã³ã°
- ãªã»ããããŠç¹°ãè¿ã
DNS解決
ãã®ããã»ã¹ã¯ããŠãŒã¶ãŒãURLãå ¥åãããšãã«ããã©ãŠã¶ãŒãæ¥ç¶ãããµãŒããŒãç¥ãã®ã«åœ¹ç«ã¡ãŸãã ãã©ãŠã¶ã¯DNSãµãŒããŒã«ã¢ã¯ã»ã¹ã ã google.comãæ°åã®ã»ãã216.58.207.110ïŒãã©ãŠã¶ãæ¥ç¶ã§ããIPã¢ãã¬ã¹ïŒã«äžèŽããããšãæ€åºããŸãã
HTTP亀æ
ãã©ãŠã¶ãã©ã®ãµãŒããŒããªã¯ãšã¹ããåŠçãããã決å®ãããšããã«ããã©ãŠã¶ãŒã¯ãããšã®TCPæ¥ç¶ã確ç«ãã HTTP亀æãéå§ããŸã ã ããã¯ããã©ãŠã¶ãšãããå¿ èŠãšãããµãŒããŒãšã®éã®éä¿¡æ¹æ³ã«ãããããµãŒããŒã®å Žåã¯ããã©ãŠã¶ãŒã®ãªã¯ãšã¹ãã«å¿çããæ¹æ³ã§ãã
HTTPã¯ãåã«ãããã¯ãŒã¯äžã§éä¿¡ããããã®æãäžè¬çãªãããã³ã«ã®ååã§ããããã©ãŠã¶ã¯ã»ãšãã©ã®å ŽåããµãŒããŒãšéä¿¡ãããšãã«HTTPãéžæããŸãã HTTP亀æã¯ãã¯ã©ã€ã¢ã³ãïŒãã©ãŠã¶ïŒããªã¯ãšã¹ããéä¿¡ãããµãŒããŒãã¬ã¹ãã³ã¹ãéä¿¡ããããšãæå³ããŸãã
ããšãã°ããã©ãŠã¶ã¯google.comã«ãµãŒãã¹ãæäŸãããµãŒããŒã«æ£åžžã«æ¥ç¶ããåŸã次ã®ãããªãªã¯ãšã¹ããéä¿¡ããŸã
GET / HTTP/1.1
Host: google.com
Accept
è¡ããšã«ã¯ãšãªã解æããŸãããïŒ
- GET / HTTP / 1.1 ïŒãã®æåã®è¡ã§ã¯ããã©ãŠã¶ã¯/ã®å Žæããããã¥ã¡ã³ããååŸãããããµãŒããŒã«èŠæ±ãããã®åŸããªã¯ãšã¹ãã®æ®ãã¯HTTP / 1.1çµç±ã§çºçããããšãè¿œå ããŸãïŒãŸãã¯ããŒãžã§ã³1.0ãŸãã¯2ã䜿çšããããšãã§ããŸãïŒ
- ãã¹ãïŒgoogle.com ïŒ ããã¯ãHTTP / 1.1ãããã³ã«ã«å¿ èŠãªå¯äžã®HTTPããããŒã§ã ã ãµãŒããŒã¯è€æ°ã®ãã¡ã€ã³ïŒgoogle.comãgoogle.co.ukãªã©ïŒã«ãµãŒãã¹ãæäŸã§ãããããããã§ã¯ã©ã€ã¢ã³ãã¯ããã®ç¹å®ã®ãã¹ãã«å¯Ÿãããªã¯ãšã¹ãã§ãããšè¿°ã¹ãŠããŸãã
- AcceptïŒ* / * ïŒãã©ãŠã¶ãŒããµãŒããŒã«å¿çãåãå ¥ããããšãäŒãããªãã·ã§ã³ã®ããããŒã ãµãŒããŒã¯ãJSONãXMLããŸãã¯HTMLã§å©çšå¯èœãªãªãœãŒã¹ãæã€ããšãã§ããããã奜ã¿ã®åœ¢åŒãéžæã§ããŸãã
ã¯ã©ã€ã¢ã³ããšããŠåäœãããã©ãŠã¶ããªã¯ãšã¹ããå®äºãããšããµãŒããŒã¯å¿çãéä¿¡ããŸãã çãã¯æ¬¡ã®ãšããã§ãã
HTTP/1.1 200 OK Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 Server: gws X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN Set-Cookie: NID=1234; expires=Fri, 18-Jan-2019 18:25:04 GMT; path=/; domain=.google.com; HttpOnly <!doctype html><html"> ... ... </html>
ãããŒãä»åºŠã¯æ¶åããå¿ èŠã®ããéåžžã«å€ãã®æ å ±ã ãµãŒããŒã¯ããªã¯ãšã¹ããæåããããšãéç¥ãïŒ 200 OK ïŒãããã€ãã®ããããŒãã¬ã¹ãã³ã¹ã«è¿œå ããŸããããšãã°ããªã¯ãšã¹ããåŠçãããµãŒããŒïŒ ãµãŒããŒïŒgws ïŒããã®åçã®X-XSS-Protectionããªã·ãŒãªã©ã確èªã§ããŸãããã«ãªã©ã
çŸæç¹ã§ã¯ãåçã®ãã¹ãŠã®è¡ãç解ããå¿ èŠã¯ãããŸããã ãã®äžé£ã®åºçç©ã®åŸåã§ãHTTPãããã³ã«ãšãã®ããããŒãªã©ã«ã€ããŠè©³ãã説æããŸãã
çŸæç¹ã§ç¥ã£ãŠããå¿ èŠãããã®ã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒãæ å ±ã亀æããHTTPãããã³ã«ãä»ããŠæ å ±ã亀æããããšã ãã§ãã
ã¬ã³ããªã³ã°
æåŸã«ãªããŸããããã¬ã³ããªã³ã°ããã»ã¹ãé²è¡äžã§ãã ãŠãŒã¶ãŒã«è¡šç€ºããã®ãé¢çœããã£ã©ã¯ã¿ãŒã®ãªã¹ãã ãã§ããå Žåããã©ãŠã¶ãŒã¯ã©ããããè¯ãã§ããïŒ
<!doctype html><html"> ... ... </html>
å¿çã®æ¬æã«ããµãŒããŒã¯Content-TypeããããŒã«åŸã£ãŠèŠæ±ãããããã¥ã¡ã³ãã®ãã¬ãŒã³ããŒã·ã§ã³ãå«ããŸãã ãã®äŸã§ã¯ãã³ã³ãã³ãã¿ã€ãã¯text / htmlã«èšå®ãããŠãããããå¿çã«HTMLããŒã¯ã¢ãããå¿ èŠã§ãããããããã¥ã¡ã³ãã®æ¬æã«ãããã®ã§ãã
ããã¯ãŸãã«ããã©ãŠã¶ãŒãå®éã«ãã®èœåãçºæ®ããç¬éã§ãã HTMLã³ãŒããèªã¿åã£ãŠåæããããŒã¯ã¢ããã«å«ãŸããè¿œå ãªãœãŒã¹ãããŒããïŒããšãã°ãJavaScriptãã¡ã€ã«ãŸãã¯CSSããã¥ã¡ã³ããããŒãçšã«æå®ã§ããŸãïŒãã§ããã ãæ©ããŠãŒã¶ãŒã«æ瀺ããŸãã
ç¹°ãè¿ãã«ãªããŸãããæçµçµæã¯å¹³åçãªVasyaãã¢ã¯ã»ã¹ã§ãããã®ã§ãªããã°ãªããŸããã

ãã©ãŠã¶ãŒã®ã¢ãã¬ã¹ããŒã§EnterããŒãæŒãããšãã«å®éã«äœãèµ·ãããã«ã€ããŠããã詳现ãªèª¬æãå¿ èŠãªå Žåã¯ããã®ããã»ã¹ã®æ ¹åºã«ããã¡ã«ããºã ã説æããéåžžã«ç¶¿å¯ãªè©Šã¿ã§ããèšäºãWhat happen when ...ããèªãããšããå§ãããŸãã
ãã®ã·ãªãŒãºã¯ã»ãã¥ãªãã£ã«ç¹åãããã®ã§ãããããããã§åŠãã ããšã«ã€ããŠãã³ãã瀺ããŸããæ»æè ã¯HTTP亀æãšã¬ã³ããªã³ã°ã®äžéšã®è匱æ§ããç°¡åã«çèšãç«ãŠãŸã ã è匱æ§ãæªæã®ãããŠãŒã¶ãŒããã®ä»ã®çŽ æŽãããçãç©ã¯ä»ã®å Žæã«ãããŸãããåè¿°ã®ã¬ãã«ã§ä¿è·ãæäŸããããã®ããå¹æçãªã¢ãããŒãã«ãããã»ãã¥ãªãã£ç¶æ ãæ¹åããããšãã§ããŸãã
ãã³ããŒ
æã人æ°ã®ãã4ã€ã®ãã©ãŠã¶ãŒã¯ãç°ãªããã³ããŒã«å±ããŠããŸãã
- Google Chrome
- Mozillaã«ããFirefox
- Apple Safari
- Microsoft Edge
ãã³ããŒã¯ãåžå Žã®æµžéãé«ããããã«äºãã«æŠãããšã«å ããŠããã©ãŠã¶ãŒã®äžçš®ã®ãæå°èŠä»¶ãã§ããWebæšæºãæ¹åããããã«äºãã«å¯Ÿè©±ããŸãã
W3Cã¯æšæºéçºã®åºç€ã§ããããã©ãŠã¶ã¯ç¬èªã®æ©èœãéçºããããšãå€ããæçµçã«ã¯Webæšæºã«ãªããŸããã»ãã¥ãªãã£ãäŸå€ã§ã¯ãããŸããã
ããšãã°ã SameSite Cookieã¯Chrome 51ã§å°å ¥ãããŸããããã®æ©èœã«ãããWebã¢ããªã±ãŒã·ã§ã³ã¯CSRFãšããŠç¥ãããç¹å®ã®ã¿ã€ãã®è匱æ§ãåãé€ãããšãã§ããŸãïŒè©³çŽ°ã¯åŸè¿°ïŒã ä»ã®ã¡ãŒã«ãŒã¯ãããè¯ãã¢ã€ãã¢ã§ãããšå€æããããã«è¿œéããŠãSameSiteãWebæšæºã«ãªã£ãïŒSafariã¯çŸåšã SameSite CookieããµããŒãããªãå¯äžã®äž»èŠãªãã©ãŠã¶ã§ãã

ããã«ããã次ã®2ã€ã®ããšãããããŸãã
- Safariã¯ãŠãŒã¶ãŒã®ã»ãã¥ãªãã£ãååã«æ°ã«ããŠããªãããã§ãïŒåè«ã§ããSameSiteCookieã¯Safari 12ã§å©çšã§ããŸããSafari12ã¯ãã®èšäºãèªããŸã§ã«æ¢ã«ãªãªãŒã¹ãããŠããå¯èœæ§ããããŸãïŒ
- 1ã€ã®ãã©ãŠã¶ã®è匱æ§ãä¿®æ£ããŠãããã¹ãŠã®ãŠãŒã¶ãŒãå®å šã§ãããšã¯éããŸãã
æåã®ãã€ã³ãã¯Safariã§ã®ã·ã§ããã§ãïŒç§ãèšã£ãããã«ãç§ã¯åè«ãèšã£ãŠããŸãïŒïŒããããŠ2çªç®ã®ãã€ã³ãã¯æ¬åœã«éèŠã§ãã Webã¢ããªã±ãŒã·ã§ã³ãéçºãããšããç°ãªããã©ãŠã¶ã§åãããã«èŠããã ãã§ãªããç°ãªããã©ãããã©ãŒã ã®ãŠãŒã¶ãŒã«åãä¿è·ãæäŸããå¿ èŠããããŸãã
ãããã¯ãŒã¯ã»ãã¥ãªãã£æŠç¥ã¯ããã©ãŠã¶ãã³ããŒãæäŸããæ©èœã«ãã£ãŠç°ãªããŸãã çŸåšãã»ãšãã©ã®ãã©ãŠã¶ã¯åãæ©èœã»ããããµããŒãããŠãããå šäœã®ããŒããããããéžè±ããããšã¯ã»ãšãã©ãããŸããããäžèšã®ãããªã±ãŒã¹ã¯äŸç¶ãšããŠçºçãããããã»ãã¥ãªãã£æŠç¥ãå®çŸ©ããéã«èæ ®ããå¿ èŠããããŸãã
ãã®å ŽåãSameSite Cookieã䜿çšããŠCSRFæ»æã®ã¿ãç¡å¹åããããšã決å®ããå ŽåãSafariãŠãŒã¶ãŒãå±éºã«ããããŠããããšãç¥ã£ãŠããå¿ èŠããããŸãã ãããŠããŠãŒã¶ãŒããããç¥ã£ãŠããå¿ èŠããããŸãã
æåŸã«éèŠãªããšã§ããããã©ãŠã¶ãŒããŒãžã§ã³ããµããŒããããã©ããã決å®ã§ããããšãèŠããŠããå¿ èŠããããŸããåãã©ãŠã¶ãŒããŒãžã§ã³ã®ãµããŒãã¯å®çšçã§ã¯ãããŸããïŒInternet Explorer 6ãæãåºããŠãã ããïŒã ããã«ãããããããäž»èŠãªãã©ãŠã¶ã®ããã€ãã®æè¿ã®ããŒãžã§ã³ãèªä¿¡ãæã£ãŠãµããŒãããããšã¯ãéåžžè¯ã解決çã§ãã ãã ããç¹å®ã®ãã©ãããã©ãŒã ã§ä¿è·ãæäŸããäºå®ããªãå Žåã¯ããŠãŒã¶ãŒããããç¥ã£ãŠããããšã匷ããå§ãããŸãã
ãããžã®ãã³ã ïŒãŠãŒã¶ãŒã«å€ããã©ãŠã¶ãŒã䜿çšããããšããç©æ¥µçã«ãµããŒãããããšã決ããŠå§ããªãã§ãã ããã å¿ èŠãªäºé²æªçœ®ããã¹ãŠè¬ãããšããŠããä»ã®Webéçºè ã¯ããããŸããã§ããã äž»èŠãªãã©ãŠã¶ã®ããããã®ãµããŒããããŠããææ°ããŒãžã§ã³ã䜿çšãããããŠãŒã¶ãŒã«å¥šå±ããŸãã
ãã³ããŒãŸãã¯æšæºã®ãã°ïŒ
éåžžã®ãŠãŒã¶ãŒããµãŒãããŒãã£ã®ã¯ã©ã€ã¢ã³ããœãããŠã§ã¢ïŒãã©ãŠã¶ãŒïŒã®ãããã§ã¢ããªã±ãŒã·ã§ã³ã«ã¢ã¯ã»ã¹ãããšããäºå®ã¯ã䟿å©ã§å®å šãªWebãã©ãŠãžã³ã°ãžã®ãã¹ãè€éã«ããå¥ã®ã¬ãã«ãè¿œå ããŸãããã©ãŠã¶ãŒèªäœãã»ãã¥ãªãã£ã®è匱æ§ã®åå ã«ãªããŸãã
ãã³ããŒã¯éåžžããã©ãŠã¶èªäœã®è匱æ§ãæ¢ããŠããã»ãã¥ãªãã£ç 究è ã«å ±é ¬ïŒãã°å ±å¥šéãšãåŒã°ããŸãïŒãæäŸããŸãã ãããã®ãšã©ãŒã¯Webã¢ããªã±ãŒã·ã§ã³ã«é¢é£ãããã®ã§ã¯ãªãããã©ãŠã¶ãã»ãã¥ãªãã£ãåå¥ã«ç®¡çããæ¹æ³ã«é¢é£ããŠããŸãã
ããšãã°ãChromeå ±é ¬ããã°ã©ã ã§ã¯ãã»ãã¥ãªãã£ç 究è ãChromeã»ãã¥ãªãã£ããŒã ã«é£çµ¡ããŠãçºèŠããè匱æ§ãå ±åã§ããŸãã è匱æ§ã®äºå®ã確èªããããšãä¿®æ£ãçºè¡ãããååãšããŠã»ãã¥ãªãã£éç¥ãçºè¡ãããç 究è ã¯ããã°ã©ã ããïŒéåžžã¯ééçïŒå ±é ¬ãåãåããŸãã
Googleãªã©ã®äŒæ¥ã¯ãBug Bountyããã°ã©ã ã«éåžžã«å å®ãªè³æ¬ãæè³ããŠããŸããããã«ãããäŒæ¥ã¯å€ãã®ç 究è ãåŒãä»ãããã¹ã察象ã®ãœãããŠã§ã¢ã«åé¡ãèŠã€ãã£ãå Žåã«ééçå©çãçŽæããŸãã
誰ãããã°ããŠã³ãã£ããã°ã©ã ã«åã¡ãŸãããããã€ããŒã¯ãœãããŠã§ã¢ã®ã»ãã¥ãªãã£ã匷åããããšã«æåããç 究è ã¯ãã®çºèŠã«å¯ŸããŠå ±é ¬ãåãåããŸãã Bug Bountyã®ã€ãã·ã¢ããã¯ã»ãã¥ãªãã£ã©ã³ãã¹ã±ãŒãã®å¥ã®ã»ã¯ã·ã§ã³ã«å€ãããšä¿¡ããŠããããããããã®ããã°ã©ã ã«ã€ããŠã¯åŸã§èª¬æããŸãã
Jake Archibaldã¯ãè€æ°ã®ãã©ãŠã¶ãŒã«åœ±é¿ãäžããè匱æ§ãçºèŠããGoogleã®æ¯æè ã§ãã 圌ã¯ãããæ€åºããããã®åªåãè匱æ§ã®åœ±é¿ãåããããŸããŸãªãã³ããŒãžã®é£çµ¡ããã»ã¹ãããã³ãã³ããŒã®ä»£è¡šè ã®åå¿ãèå³æ·±ãããã°èšäºã§ææžåããŠããŸãã
éçºè ãã©ãŠã¶
ãããŸã§ã§ãéåžžã«åçŽã ãããªãéèŠãªæŠå¿µãç解ããã¯ãã§ããããã©ãŠã¶ãŒã¯ããå¹³åçãªãã€ã³ã¿ãŒããããŠãŒã¶ãŒåãã«äœæãããåãªãHTTPã¯ã©ã€ã¢ã³ãã§ãã
ãã©ãŠã¶ãŒã¯ãã©ã®ãã©ãããã©ãŒã ã§ãåçŽãªHTTPã¯ã©ã€ã¢ã³ãããã確å®ã«åŒ·åã§ãïŒããšãã°ãNodeJS㯠'http'ã«äŸåããŠããããšãå¿ããªãã§ãã ããïŒããæçµçã«ã¯ãåçŽãªHTTPã¯ã©ã€ã¢ã³ãã®èªç¶ãªé²åã®ç£ç©ã§ãã
éçºè ã«é¢ããŠã¯ãç§ãã¡ã®HTTPã¯ã©ã€ã¢ã³ãã¯ãããããWebéçºè ãæ¯æ¥äœ¿çšããæã人æ°ã®ããããã°ã©ã ã®1ã€ã§ããDaniel Stenbergã®cURLã§ãã ã³ãã³ãã©ã€ã³ããHTTPãªã¯ãšã¹ããéä¿¡ããããšã§ãHTTP亀æããã®å Žã§å®è¡ã§ããŸãã
$ curl -I localhost:8080 HTTP/1.1 200 OK server: ecstatic-2.2.1 Content-Type: text/html etag: "23724049-4096-"2018-07-20T11:20:35.526Z"" last-modified: Fri, 20 Jul 2018 11:20:35 GMT cache-control: max-age=3600 Date: Fri, 20 Jul 2018 11:21:02 GMT Connection: keep-alive
äžèšã®äŸã§ã¯ã localhostïŒ8080 /ã§ããã¥ã¡ã³ããèŠæ±ããããŒã«ã«ãµãŒããŒã¯æ£åžžã«å¿çããŸããã
å¿çæ¬æãã³ãã³ãã©ã€ã³ã«ã¢ã³ããŒããã代ããã«ã -Iãã©ã°ã䜿çšããŸãããããã¯ãå¿çããããŒã«ã®ã¿é¢å¿ãããããšãcURLã«éç¥ããŸãã ããã«äžæ©èžã¿èŸŒãã§ãcURLã³ãã³ãã«ãå®è¡ããå®éã®èŠæ±ãªã©ãããå°ãæ å ±ãäžããããšãã§ããŸããããã«ããããã®HTTP亀æã®ãã¹ãŠããããã調ã¹ãããšãã§ããŸãã 䜿çšãããªãã·ã§ã³ïŒ -v ïŒ verbose ãmoreïŒïŒ
$ curl -I -v localhost:8080 * Rebuilt URL to: localhost:8080/ * Trying 127.0.0.1... * Connected to localhost (127.0.0.1) port 8080 (#0) > HEAD / HTTP/1.1 > Host: localhost:8080 > User-Agent: curl/7.47.0 > Accept: */* > < HTTP/1.1 200 OK HTTP/1.1 200 OK < server: ecstatic-2.2.1 server: ecstatic-2.2.1 < Content-Type: text/html Content-Type: text/html < etag: "23724049-4096-"2018-07-20T11:20:35.526Z"" etag: "23724049-4096-"2018-07-20T11:20:35.526Z"" < last-modified: Fri, 20 Jul 2018 11:20:35 GMT last-modified: Fri, 20 Jul 2018 11:20:35 GMT < cache-control: max-age=3600 cache-control: max-age=3600 < Date: Fri, 20 Jul 2018 11:25:55 GMT Date: Fri, 20 Jul 2018 11:25:55 GMT < Connection: keep-alive Connection: keep-alive < * Connection #0 to host localhost left intact
ã»ãŒåãæ å ±ã¯ãDevToolsãä»ããŠäžè¬çãªãã©ãŠã¶ã§å ¥æã§ããŸãã
ãããŸã§èŠãŠããããã«ããã©ãŠã¶ã¯æŽç·ŽãããHTTPã¯ã©ã€ã¢ã³ãã«ãããŸããã ãã¡ããã圌ãã¯èšå€§ãªæ°ã®æ©èœïŒããšãã°ãè³æ Œæ å ±ç®¡çãããã¯ããŒã¯ãå±¥æŽãªã©ïŒãè¿œå ããŸãããçå®ã¯ã人ã ã®HTTPã¯ã©ã€ã¢ã³ããšããŠçãŸãããšããããšã§ãã ããã¯éèŠã§ããã»ãšãã©ã®å ŽåãWebã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã確èªããããã«ãã©ãŠã¶ãŒãå¿ èŠãšããªãããã§ãããç ãã ãã§çããèŠãããšãã§ããŸãã
æåŸã«æ³šæãããã®ã¯ã ãã©ãŠã¶ã¯äœã§ãããŸããŸããã HTTPçµç±ã§APIã䜿çšããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ããæã¡ã®å Žåããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãã©ãŠã¶ã§ããç¹å®ã®çš®é¡ã®HTTPå¿çïŒç¬èªã®APIããïŒã®ã¿ãèªèããåå¥ã®æ³šæã§ãŠãŒã¶ãŒãèšå®ããã ãã§ãã
HTTPãã€ãã³ã°
æ¢ã«è¿°ã¹ãããã«ã HTTP亀æãšã¬ã³ããªã³ã°ã®ãã§ãŒãºã«ã€ããŠã¯ãæ»æè ã«ãšã£ãŠæãå€ãã®æ»æãã¯ãã«ãæäŸãããã§ãŒãºã§ããããã詳现ã«èª¬æããŸãã
次ã®èšäºã§ã¯ãHTTPãããã³ã«ã詳ããèŠãŠãHTTP亀æã®ã»ãã¥ãªãã£ã確ä¿ããããã«ã©ã®ãããªå¯Ÿçãè¬ããã¹ãããç解ããããšããŸãã
ãã®ç¿»èš³ã¯ã CïŒããã³.NET Webéçºã ãã§ãªãã倧èŠæš¡ãªé¡§å®¢åãã®ããã®WebéçºäŒç€Ÿã§ããEDISON Softwareã«ãã£ãŠãµããŒããããŠããŸããã