InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example
æè¿ãã»ãã¥ãªãã£ã«ç¹ã«æ°ããããªããã°ãããªããµã¼ãã¹ã®éçºããã¦ãã¦èª¿ã¹ãç¥è¦ã®ã¡ã¢ã subresource integrity Subresource Integrity - Web security | MDN ãããããã§ãã¯ãµã ã®ä»çµã¿ã integrity å±æ§ã« ${hashalgorithm}-${hashdigest} å½¢å¼ã®å¤ãæ¸ãã¦ããããã§ãããããã¡ã¤ã«ã®ããã·ã¥å¤ãä¸è´ãã¦ããªããã°ãã©ã¦ã¶ãèªã¿è¾¼ã¿ããããã¯ããã ããã¯ããã¨ãã°CDNãæ»æããããªã©ãã¦ã¹ã¯ãªãããªã©ãæ¹ç«ãããå ´åã«æå¹ã JSãCSSã¯ããªã»ãã¹ãããã»ããµã§å¦çãåºåãããã¨ãã»ã¨ãã©ã ããããsubresource integrityã¨ã©ããã£ã¦çµ±åãããã¨ããã¨gulp-hashsumã使ã£ã¦ã³ã³ãã¤ã«ãããã¡ã¤ã«ã®ããã·ã¥å¤ãdigest.jsonã«ä¿åããHTMLã®ã¬ã³ã
evalã¨reportOnlyã«ã¤ãã¦è¿½è¨ãã¾ãã (2016/10/10) 2016/10/20 ä»æ§åã¯ä»¥ä¸ã®éãã«ãªãã¾ãããAnti-XSS Response-Time Uniqueness Requirement ã¾ãããããåã¯ãXSS-Protectionãããã§ã¯ãªããARTURãããã¨ãªã£ã¦ããã¾ãããã¾ãå¤æ´ãããå¯è½æ§ãããã¾ãã Googleã®èª¿æ»ã«ããã¨ãCSPã«ããXSSã®é²æ¢ã¯ç¾å®çã«ãããã¤ã®æ¬ é¥ã«ããXSSã®é²æ¢å¹æããªããã¨ã示ãã¦ãã¾ãã調æ»ã¯ãCSP Is Dead, Long Live CSP!ãã¨ãã¦ACMã®ã«ã³ãã¡ã¬ã³ã¹ã§çºè¡¨ããããã¼ãã¼ãé²è¦§ãããã¨ãã§ãã¾ãã 9æã«è¡ãããW3C TPAC 2016ã®WebAppSecã®ãã¼ãã£ã³ã°ã§è°è«ãããGoogleã®Mike Westæ°ããæ°ããXSS Protectionã¨ããä»æ§ãææ¡ããã¦
以åã®ã¨ã³ããªã§èª¿æ»ããcurlã®ãã¼ã¸ã§ã³ã®éãã«ã¤ãã¦ãã®å¾è²ã 調ã¹ãã®ã§çµæãã¾ã¨ãã¦ã¿ãã ãããã CentOS4ç³» curl 7.12 CentOS5ç³» curl 7.15 ãµã¼ãã®ç§»è¡ãè¡ã£ãã¨ãããcurlã®éä¿¡ã«èããé 延ãçºçãããå ·ä½çã«è¨ãã¨1åã®éä¿¡ã§2ç§ãããã ååã®å¯¾çã¨ãã¦ã¯ã¨ããããCentOS4ç³»ã®SRPMãæã£ã¦ãã¦ãã«ããããã¼ã¸ã§ã³ããã¦ã³ã°ã¬ã¼ããã¦å¯¾å¿ããã èª¿æ» å®ã¯ååã®ã¨ã³ããªã§ã¯ç°å¢ãæ£ç¢ºã«æ¸ããã£ã¦ããªãã£ãorzã ä»å調æ»ãç¶ããçµæ以ä¸ã®ç°å¢ã§ã®ã¿ãã®2ç§é 延ãèµ·ãããã¨ãå¤æããã ç°å¢ curl 7.13以é POSTãã¼ã¿ã1024ãã¤ãä»¥ä¸ Poundãµã¼ãçµç±ããã¨ãã®ã¿ ååã¯åç´ã«curlã®ãã¼ã¸ã§ã³ã®ã¿ãåé¡ã ã¨æã£ã¦è²ã 調ã¹ããã ãã©ãä»ã®ãµã¼ãã®ãã°ãç°å¢ãæ¯è¼ãã¦ãããã¡ã«ä¸è¨ã®æ¡ä»¶ã確èªã§ããã 確èªã
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Webã§ã®ããã·ã¥æè¡ HTTPã¯ã¯ã©ã¤ã¢ã³ãï¼ãã©ã¦ã¶ï¼ãããªã¯ã¨ã¹ããã¦ãµã¼ãããã¬ã¹ãã³ã¹ãè¿ãä¸åä¸çåã®ãããã³ã«ãªã®ã§ãåºæ¬çã«ã¯ãµã¼ãå´ãããã©ã¦ã¶ã«æ°çæ å ±ããªã¢ã«ã¿ã¤ã ã§éç¥ï¼ããã·ã¥ï¼ã§ããããã«ã¯ã§ãã¦ãã¾ããã ãããããã§ãããã·ã¥ããããã¨ããå ´åã«ã©ããããã¨ãã話ãåºã¦ãã¾ããããæ¹ã«ã¯ä»¥ä¸ã®ãããªãã®ãããã¾ãã ãã¼ãªã³ã° ã¯ã©ã¤ã¢ã³ããããµã¼ãã«å®æçã«æ°çãåãåãããããã«ãã¾ãã æãåå§çãã¤ç¢ºå®ãªããæ¹ãæ¬ ç¹ã¯ãæ大ã§ãã¼ãªã³ã°ééã®åã ãéç¥ãé 延ããããã¨ã§ãã ãã³ã°ãã¼ãªã³ã°ï¼âC
ããã¯ã·ã¼çµç±ã§ã¤ã³ã¿ã¼ãããã¸ã¢ã¯ã»ã¹ããéã«ãä¸éè æ»æãåããããããããèå¼±æ§ããFalseCONNECTãã¨ãã¦å ¬è¡¨ããããWebKitãç¨ãããã©ã¦ã¶ã§ã¯ãä»»æã®ã¹ã¯ãªãããå®è¡ãããããããããã¨ããã ã»ãã¥ãªãã£ç 究è ã®Jerry Decimeæ°ãå ¬è¡¨ãããã®ã åæ°ã«ããã°ãããã¯ã·ã¼ã«ãããèªè¨¼æ©è½ã®å®è£ ã«åé¡ããããããã¯ã·çµç±ã§æ¥ç¶ããéã«èªè¨¼æ å ±ãè©åãããããããããã¨ããã åæ°ã¯ä»åã®èå¼±æ§ã«ã¤ãã¦ãFalseCONNECTãã¨åä»ããã¦ã§ããµã¤ããå ¬è¡¨ããã å ·ä½çã«ã¯ãHTTPSéä¿¡ã«ããã¦ãããã¯ã·ã¼ã«å¯¾ããæ¥ç¶è¦æ±ãHTTP CONNECTããå¹³æã§éä¿¡ããããããã¢ã¯ã»ã¹å ãç§å¿ãããªãã»ããããã«å¹³æã«ããå¿çããããããããHTTP 407 Proxy Authentication Requiredãã¸ç½®ãæãããã¨ã§ãèªè¨¼æ å ±ãè©åãããã³
ã¯ããã¾ãã¦ãHASHã³ã³ãµã«ãã£ã³ã°ã§ã¨ã³ã¸ãã¢ããã¦ããä¸ãç¬ã¨ç³ãã¾ãã ãåç¥ã®éããç¾å¨HASHã³ã³ãµã«ãã£ã³ã°ã¯ç¾å¨ãç©æ¥µçã«ã»ãã¥ãªãã£ã¨ã³ã¸ãã¢ãåéãã¦ãã¾ããå¾æ¥å¡ãå°ããã¤å¢ãã¦ãã¾ããã®ã§ãä»åã®æ稿ããå¼ç¤¾ã®ä»£è¡¨ã§ãã徳丸ã¨å ±ã«å¾æ¥å¡ãHASHã³ã³ãµã«ãã£ã³ã°æ ªå¼ä¼ç¤¾å ¬å¼ããã°ãæ´æ°ãã¦ãããã¨ã«ãªãã¾ããã®ã§ããããããé¡ããããã¾ãã ã¨ããããã§ãå¾æ¥å¡ã®æ稿第1å¼¾ã¯2016/7/19ã«å ¬éãã話é¡ã¨ãªã£ãhttpoxyã®è©±ã§ãã httpoxyã¯è¦è¦åºã«ãã注æåèµ·ãããã¦ãããé常ã«æ³¨ç®ãéãã¦ãã¾ãã â[PDF] CGI çãå©ç¨ããã¦ã§ããµã¼ãã®èå¼±æ§ï¼httpoxyï¼ãæ¨çã¨ããã¢ã¯ã»ã¹ã®è¦³æ¸¬ã«ã¤ã㦠- è¦å¯åº (å¹³æ28å¹´ï¼æ20æ¥)â https://t.co/DE7LG7MwQC â 徳丸 浩 (@ockeghem) 2016å¹´7æ20æ¥
HSTSã§ã¯ã¤ã³ã»ãã¥ã¢ãªHTTP URLãèªåçã«ã»ãã¥ã¢ãªHTTPS URLã«å¤æãããã¨ã«ãã£ã¦ãã¦ã¼ã¶ã¼ã«ããHTTP URLã®åç §ãé²æ¢ããã Webãµã¤ãã®HTTPSæ¥ç¶ãæ¨é²ãã¦ããç±³Googleã¯7æ29æ¥ã転éä¸ã®ãã¼ã¿ã®ä¿è·ãä¸å±¤å¼·åããç®çã§ããwww.google.comãã®ãã¡ã¤ã³ä¸ã§ãHTTP Strict Transport Securityãï¼HSTSï¼ãå®è£ ããã¨çºè¡¨ããã Googleã«ããã¨ãHSTSã§ã¯ã¤ã³ã»ãã¥ã¢ãªHTTP URLãèªåçã«ã»ãã¥ã¢ãªHTTPS URLã«å¤æãããã¨ã«ãã£ã¦ãã¦ã¼ã¶ã¼ã«ããHTTP URLã®åç §ãé²æ¢ãããã¦ã¼ã¶ã¼ã¯ã¢ãã¬ã¹ãã¼ã«HTTPã®URLãå ¥åããããä»ã®Webãµã¤ãã®HTTPãªã³ã¯ããã©ã£ãããã¦ãããããHTTP URLã«ã¢ã¯ã»ã¹ãã¦ãã¾ããã¨ãããã¨ããã ã転éä¸ã®ãã¼ã¿ã®æå·åã¯ãã¦ã¼ã¶ã¼ãã¦ã¼ã¶ã¼
PHPãPythonãGoã使ã£ãCGIãã¼ã¹ã®ã¢ããªã±ã¼ã·ã§ã³ã§èå¼±æ§ã確èªãããã»ããå½±é¿ãåããæãã®ããå¤æ°ã®ã¢ããªã±ã¼ã·ã§ã³ãããã¨æ¨å®ãããã PHPãGoãPythonãªã©ã®ä¸»è¦ãªããã°ã©ãã³ã°è¨èªã«å½±é¿ããCGIã¢ããªã±ã¼ã·ã§ã³ã®èå¼±æ§ãçºè¦ãããçºè¦è ã¯ãã®èå¼±æ§ããhttpoxyãã¨å½åãã7æ18æ¥ã«è©³ããæ å ±ãå ¬éãæªç¨ã¯æ¥µãã¦ç°¡åã¨ãããç±³ã»ãã¥ãªãã£æ©é¢ããããã¾ãã¯åé¿çã®é©ç¨ã¨ãã£ã対çãç´ã¡ã«è¬ããããå¼ã³æãã¦ããã httpoxyã®æ å ±ãµã¤ããç±³CERT/CCãSANS Internet Storm Centerãªã©ã«ããã¨ããã®åé¡ã¯Webã¢ããªã±ã¼ã·ã§ã³ã«ãããHTTPãProxyããããã®ä¸é©åãªä½¿ç¨ã«èµ·å ãããCGIã¾ãã¯CGIã®ãããªã³ã³ããã¹ãã§éç¨ããã¦ããWebãµã¼ãã§ã¯ãã¯ã©ã¤ã¢ã³ãã«ãªã¯ã¨ã¹ããããHTTP ProxyãããããHT
HTTPã¹ãã¼ã¿ã¹ã³ã¼ããè¿ãã¨ããã®ã¯ã¨ã¦ãåç´ãªãã¨ã§ãããã¼ã¸ãã¬ã³ããªã³ã°ã§ããï¼ããããããªã 200 ãè¿ãã¾ãããããã¼ã¸ãåå¨ããªãï¼ãããªã 404 ã§ããä»ã®ãã¼ã¸ã«ã¦ã¼ã¶ããªãã¤ã¬ã¯ããããï¼ 302 ãããã㯠301 ããããã¾ããã I like to imagine that HTTP status codes are like CB 10 codes. "Breaker breaker, this is White Chocolate Thunder. We've got a 200 OK here." â Aaron Patterson (@tenderlove) 2015, 10æ 7 訳ï¼HTTPã®ã¹ãã¼ã¿ã¹ã³ã¼ãã®ãã¨ã¯ãå¸æ°ã©ã¸ãªã®10ã³ã¼ãã¿ãããªãã®ã ã¨èããã®ã好ãã§ããããã¬ã¼ã«ã¼ããã¬ã¼ã«ã¼ããã¡ããã¯ã¤ãã»ãã§ã³ã¬ã¼ãã»ãµã³ãã¼ã200
ç°¡åã«è§£èª¬ããã¨ãå®ä¾¡ãªè¨¼ææ¸ã¯ãã®ã»ã¨ãã©ãããã¡ã¤ã³èªè¨¼ãã§ãããé常ã¯å人å©ç¨ãå¤ãããã®æ¬¡ãæ³çãªå®å¨è¨¼æãè¡ã証æã§ãããä¸è¬ä¼æ¥ã®å¤ãããã®æ¹å¼ãæ¡ç¨ãã¦ãããæãå³æ ¼ãªãã®ã¯ä»¥åã«ã解説ããããEV SSLãã ããç©ççå®å¨è¨¼æãã¨å¼ã°ãã¦ãããå®å ¨ãªå ´åã¯Webãã©ã¦ã¶ã®ã¢ãã¬ã¹ãã¼ãç·è²ã«å¤åããã®ã§ãåå¿è ãè¦ã¦ãåãããããã¨è©å¤ã ã EV SSL証ææ¸ã¯ä¾¡æ ¼ãå°ãé«ããã®ã®ã顧客ã®å®å ¨ãèæ ®ãããªããååã«æ¤è¨ã«å¤ãããã®ã ãããå®ä¾¡ãã¼ã¹ã§å¹´éã«ç´7ä¸ï½10ä¸åã»ã©é«ãã ãã ãæ1ä¸åã«ãæºããªãä¾¡æ ¼å·®ã§ãã大ããªå®å¿æãå¾ãããã¨æãããããã¾ãæ®åãã¦ããªãã®ã¯æ®å¿µã§ããã証ææ¸ã®å¦çã«ã¤ãã¦ã¯ã確ãã«å³å¯ãªç¢ºèªãè¡ããã®ã§ããã»ã©æéããããã¨æ³å®ããããã ããä½æã§ã¯ã¦ã¼ã¶ã¼ãå ¨ãæ°ä»ããªãå ´åãã»ã¨ãã©ã ããã ã¾ããã証ææ¸å¤±å¹ãªã¹ããï¼CRLï¼ããã§
第3ä¼FRESHåå¼·ä¼ã§çºè¡¨äºå®ã®ã¹ã©ã¤ããHTTPã«ã¤ãã¦è©³ãããªã人ã®ããã« HTTPã®æ¦è¦ããå æ¥RFCåãããHTTP/2ã®æ°æ©è½ã使ãã©ããã解説ãã¾ãã
HTTPSã使ã£ãã»ãã¥ã¢ãªæ¥ç¶ã®æ®åãç®æãç±³Googleããã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãï¼UAï¼ã®ä»æ§ã段éçã«å¤æ´ãã¦ãéä¿¡ãæå·åãããªãHTTPæ¥ç¶ã«å¯¾ãã¦ãå®å ¨ã§ãªããã¨æ示ãããã¨ãææ¡ãã¦ããã ãã®ææ¡ã®çãã¯ããHTTPã«ã¯æ å ±ã»ãã¥ãªãã£å¯¾çãæ½ããã¦ããªããã¨ããäºå®ãããã£ã¨ã¯ã£ããã¦ã¼ã¶ã¼ã«ç¤ºããã¨ã«ããã¨Googleã¯èª¬æããWebä¸ã®ãã¼ã¿éä¿¡ã¯ãã¹ã¦ã»ãã¥ã¢ã§ãªããã°ãªããªããæ å ±ã»ãã¥ãªãã£ãåå¨ããªãå ´åã¯ãã®ãã¨ãæ示ãã¦ãã¦ã¼ã¶ã¼ãæ å ±ãå¾ãããã§å¯¾å¿ã決ããããããã«ããªããã°ãªããªããã¨ä¸»å¼µããã èæ¯ã¨ãã¦ç±³å½å®¶å®å ¨ä¿éå±ï¼NSAï¼ãªã©ããããã®ç£è¦æ´»åãè¡ã£ã¦ããã¨ä¼ããããäºä¾ãåæãããWebä¸ã§ã¯æ¹ãããç£è¦ãªã©ã®æ»æããçè«ä¸ã§ã¯ãªãå®éã«æ¨ªè¡ãã¦ãããã¨ããã å ·ä½çã«ã¯ã»ãã¥ãªãã£ç¶æ³ã3段éã«åé¡ããæå¹ãªHTTPSãªã©ã使ã£ã¦ããå ´
2015å¹´ã®å¤ä»¥éãWebã¢ã¯ã»ã¹ã®å§¿ã大ããå¤ããå¯è½æ§ãåºã¦ãããç¾å¨ä¸»ã«ä½¿ããã¦ãããHTTPï¼HyperText Transfer Protocolï¼ãã®ä»£ããã«ãSSLï¼Secure Sockets Layerï¼ãTLSï¼Transport Layer Securityï¼ãç¨ãã¦éä¿¡ãæå·åãããHTTPSï¼HTTP over SSL/TLSï¼ããå©ç¨ããWebãµã¤ãããµã¼ãã¹ãä¸æ°ã«å¢ãããã¨ãäºæ³ãããããã ã ãªãHTTPã®ä»£ããã«HTTPSã使ãWebãµã¤ãããµã¼ãã¹ãå¢ããã®ããããã¯ãHTTPSãå©ç¨ããããã«å¿ è¦ã¨ãªããSSLãµã¼ãã¼è¨¼ææ¸ãï¼ä»¥ä¸SSL証ææ¸ï¼ã誰ã§ãç¡åãã¤ç°¡åã«å ¥æã§ããããã«ãªãããã§ãããããã¾ã§ã¯ãå¹´éæ°ååããæ°ä¸åç¨åº¦ã®æéããã³ãã¼ã«æ¯æã£ã¦SSL証ææ¸ãåå¾ããå¿ è¦ããã£ãã2015å¹´å¤ä»¥éããããã¿ãã§âãâå ¥æã§ããããã«ãªã
æè¿SSLé¢é£ã®èå¼±æ§ããã³ãã³è©±é¡ã«ãªã£ãããããã«é¢é£ãã¦ããHTTPSãå©ç¨ãã¦ããã®ã«Cookieã®secureå±æ§ãè¨å®ãã¦ããªããµã¤ãã«ã¤ãã¦ã話é¡ã«ãªã£ã¦ããããã ï¼ã»ãã¥ãªãã£ç 究家é«æ¨æµ©å æ°ã«ããTogetterã¾ã¨ãï¼ã Cookieã®secureå±æ§ã«ã¤ãã¦ã¯ã2004å¹´ã«é«æ¨æµ©å æ°ãã¾ã¨ãããå®å ¨ãªWebã¢ããªéçºã®éå 2004ãã®ãCookieã«Secureå±æ§ãã以ä¸ãåããããããããã®å±æ§ãã»ãããã¦ããã¨ãHTTPSã§ã®éä¿¡æã«ã®ã¿ãã®Cookieãéä¿¡ããããã¨ãããã®ãsecureå±æ§ãè¨å®ããã¦ããªãå ´åãHTTPéä¿¡ã®éã«ããã®Cookieãéä¿¡ããããããéä¿¡å 容ãååãããªã©ã§ã»ãã·ã§ã³IDãªã©ãçã¾ããå¯è½æ§ãããã é«æ¨æ°ãæ¤è¨¼ããã¨ãããsecureå±æ§ãè¨å®ããã¦ããªããµã¤ãã¨ãã¦ã¯å ¨æ¥ç©ºããã³ãã³åç»ãOCNã¡ã¼ã«ãªã©ããã£ã模æ§ã
ãããããHTTP/1.1ãRFC7230-7239ã®ãã£ããããã¾ã¨ã http://blog.hmm.jp/entry/new-http1.1-rfcs
å³âæ°ãã«å ¬éãããRFC7230ã®åé é¨åãRFC2616ãç ´æ£ï¼Obsoletesï¼ãããã¨ã示ããã¦ããã Webãã©ã¦ã¶ã¼ã«ããã¢ã¯ã»ã¹ãã¯ãããã¹ãã¼ããã©ã³ã¢ããªã家é»æ©å¨ãIoTï¼Internet of Thingsï¼ããã¤ã¹ã®éä¿¡ãªã©ãä¸ã®ä¸ã®ãããã¨ããã§ä½¿ããã¦ããæãéè¦ãªåºæ¬ãããã³ã«ã®ä¸ã¤ãHTTPãï¼HyperText Transfer Protocolï¼ã6æä¸æ¬ãå®ã«15å¹´ã¶ãã«æ¹è¨ãããï¼ãããã³ã«ã®ãã¼ã¸ã§ã³èªä½ã¯1.1ã®ã¾ã¾ï¼ã ã¤ã³ã¿ã¼ãããæè¡ã®æ¨æºåå£ä½ã§ããIETFï¼Internet Engineering Task Forceï¼ã2007å¹´ã«ç«ã¡ä¸ãããHTTPbisã¯ã¼ãã³ã°ã°ã«ã¼ãï¼WGï¼ããè¦æ ¼æ¹è¨ã«æºãã£ãã 1999å¹´ã®å ¬é以æ¥ãé·ããã¤ã³ã¿ã¼ãããã¢ããªã±ã¼ã·ã§ã³éçºè ã®ãã¤ãã«ã¨ãã¦ä½¿ããã¦ãããRFC2616ãï¼RFCã¯req
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}