A simple HTTP Request & Response Service. Run locally: $ docker run -p 80:80 kennethreitz/httpbin
ã¨ããè¦ä»¶ã§FOO_BARã®æ§ãªç¬èªãããã使ããã¨ãã¦ããã§ãããéä¸ã§æ¨ã¦ããã¡ãã£ã¦ããããªæåããã¦ããã®ã§èª¿ã¹ã¾ããã ã¾ããWebãµã¼ããnginxã ã£ãã®ã§ãªãã·ã§ã³ã調ã¹ãããunderscores_in_headersããªãã¦ã®ããã£ããè¦ã¤ããã®ã§ããããä»æ§ãªã®ãã¨æãããããã«ç´å¾ãããã¨ãåºæ¥ãªãã¦ãããå°ã追ãã¨ãããªããã¨ããçºè¦ãã¾ããã apache â Why underscores are forbidden in HTTP header names â Stack Overflow Few month ago I had a problem with a custom HTTP header named âSESSION_IDâ, not been transfered by nginx proxy. ã¾ãã«ã£ã¦ãã¨ã§èªã¿é²ããã¨Apacheã®æ¹ã§ä¸
20180727è¿½è¨ CORS対å¿ãå¿ è¦ã«ãªãã¾ãã asnokaze.hatenablog.com 20180703è¿½è¨ ããã¥ã¡ã³ãã¯https://w3c.github.io/network-error-logging/ ã«ã移ããã¾ãã 20180608è¿½è¨ ä»æ§ä¸ã¯ãjsonã®åå¤ã¯ãã¤ãã³ã§ã¯ãªããã¢ã³ãã¼ã¹ã³ã¢ã使ç¨ããããã«ãªãã¾ã report-to => report_to max-age => max_age ... etc https://github.com/WICG/network-error-logging/commit/86c4d1c0fa4c5d5ca1d8bdcd9fa931e7e4ab65c2 ãããªæã nel: {"report_to": "network-errors", "max_age": 2592000, "include_subdomai
Letâs look at the unnecessary headers and see why we donât need them, and what we can do about it. Vanity (server, x-powered-by, via) You may be very proud of your choice of server software, but most people couldnât care less. At worst, these headers might be divulging sensitive data that makes your site easier to attack. Server: apache X-Powered-By: PHP/5.1.1 Via: 1.1 varnish, 1.1 squid RFC7231 a
ä»æ¥ã§ã¯ HTTP(s) 㧠API ãå ¬éããããã¨ã¯å½ããåã®æ代ã§ãããã¨ã©ã¼ãã¢ããªã±ã¼ã·ã§ã³ã«ã©ãä¼ãããã¯ãåã ã® API ã®è¨è¨ã«ä¾åãã¦ãã¾ãããç¹ã«ãHTTP ã¹ãã¼ã¿ã¹ã³ã¼ãã¯æéã§ãããå ã æã£ã¦ããæå³ãããã®ã§ãèªç±ã«ä½¿ããã¨ã¯ã§ãã¾ãããAPI ã¯ãã®ãã¡ã¤ã³ãã¨ã«ãã£ã¨è¤éã§ç´°ããªã¨ã©ã¼æ å ±ãããã¯ãã§ããããã¯ã¬ã¹ãã³ã¹ããã£ã«è¼ãã¦ã¢ããªã±ã¼ã·ã§ã³ã«ä¼ãããã¨ã«ãªãã¾ããããã®æ¸å¼ã«è¦å®ã¯ä»ã¾ã§ããã¾ããã§ããã HTTP API ã«ã¦ãã¢ããªã±ã¼ã·ã§ã³ã«ã¨ã©ã¼æ å ±ãä¼éããããã®ï¼ã¬ã¹ãã³ã¹ããã£ã«è¼ããããï¼æ¨æºçãªå½¢å¼ããRFC7807 Problem Details for HTTP APIs ã§å®ãããã¦ãã¾ããé©ç¨ä¾ã¨ãã¦ã¯ã以ä¸ã®ããã«ãªãã¾ãã HTTP/1.1 403 Forbidden Content-Type: application
Ruby ä¸ã§ http ãå©ããéä¿¡è¦ããæã«ãæ¯ååãäºããã£ã¦ãã®ã§æ½è±¡åã㦠http-dump ã¨ããã©ã¤ãã©ãªãä½ã£ãã https://github.com/hotchpotch/http-dump $ gem install http-dump require 'net/http' require 'uri' require 'http-dump' HTTPDump.dump { Net::HTTP.get(URI('http://example.com')) } 㨠http ã§ããã¨ããã¦ãã³ã¼ãã block ã§å²ãã¨ã以ä¸ã®ããã«åºåãããã > GET http://example.com/ with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=
:network_authentication_requiredã¡ãªã¿ã«ããã®Rubyå ã³ã¼ãã¯ã©ãã«ãããã¨ããã¨rack/rackã®/lib/rack/utils.rbã«ããã¾ãã HTTP_STATUS_CODES = { 100 => 'Continue', 101 => 'Switching Protocols', 102 => 'Processing', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-Status', 208 => 'Already Reported', 226
by Andy Arthur ã¦ã§ããµã¤ãã«ããè¡å追跡ãé²ãããã«cookieãåé¤ãã¦ãã¦ãããã®ã¦ã¼ã¶ã¼ã以åã«è¨ªãããµã¤ãã®ãã¡ã¤ã³ãå±¥æ´ãç¥ããã¨ãã§ããææ³ãããã¨ãç 究è ãçºè¡¨ãã¾ããã Unpatched browser weaknesses can be exploited to track millions of Web users | Ars Technica http://arstechnica.com/security/2015/10/unpatched-browser-weaknesses-can-be-exploited-to-track-millions-of-web-users/ ããã¯ç¬ç«ç³»ç 究è ã®Yan ZhuããããToorCon: San Diego 2015ãã®ä¸ã§èªã£ããã®ãè¬æ¼æã®è³æã®PDFãã¡ã¤ã«ã以ä¸ã®ãã¤ã¼ããããã¦ã³ãã¼ãå¯è½ã§ãã
Update 2015/5/8: ææé ããã¿ã¤ãã誤訳ãªã©ãæ´æ°ãã¾ããã 2015/5/8: æ§æãä¸é¨ä¿®æ£ãã¾ããã Intro 4/30 mozaiila ã®ã»ãã¥ãªãã£ããã°ã«ä¸è¨ã®ãããªã¨ã³ããªãæ稿ããã¾ããã Deprecating Non-Secure HTTP | Mozilla Security Blog ã¨ã³ããªã¯ããã¾ã§é·ããªãã®ã§ãããã«ç¿»è¨³ã®å ¨æãè¨è¼ãã¾ãã ããã¦ãå ã¨ã³ããªã®ã©ã¤ã»ã³ã¹ã§ãã CC BY-SA 3.0 ã«åãã æ¬ã¨ã³ããªãåãã CC BY-SA 3.0 ã¨ãã¾ãã Deprecating Non-Secure HTTP åæ: Deprecating Non-Secure HTTP ä»æ¥ã¯ã non-secure 㪠HTTP ãããå¾ã ã«å»æ¢ãã¦ããã¨ããæ¹éã«ã¤ãã¦ã¢ãã¦ã³ã¹ãã¾ãã HTTPS ã Web ãåé²ãããæ段ã§ãã
(注è¨ï¼6/9ãããã ãã翻訳ãã£ã¼ãããã¯ãå ã«è¨äºãä¿®æ£ãããã¾ããã) ä»åã®è¨äºã¯æ¯ç§300ä¸ãã®ãªã¯ã¨ã¹ããå¦çã§ããã»ã©å¼·åã§é«æ§è½ãªWebã¯ã©ã¹ã¿ã®æ§ç¯ã«ã¤ãã¦ã®ãã¼ã1ã«ãªãã¾ããã¾ãåãã«ããã¾ãå¤ãã¯ããã¾ããããç§ãããã¾ã§ä½¿ç¨ãããã¨ã®ãããã¼ãã¸ã§ãã¬ã¼ã¿ãã¼ã«ãããã¤ãç´¹ä»ãã¾ããç§ã®ããã«ã¦ããã£ã¦æéãããã¦ãã¾ããªããããä»åã®è¨äºãç解ã®æå©ãã«ãªãã°å¹¸ãã§ãã ãã¼ãã¸ã§ãã¬ã¼ã¿ã¯ãã¹ããç®çã¨ããæ°ç¨®é¡ã®ãã©ãã£ãã¯ãçºçãããããã°ã©ã ã§ããããã«ãã£ã¦é«è² è·ã«ããã¦ãµã¼ããã©ã®ããã«åãã¦ãããããã®ãµã¼ãã®å¼±ç¹ã¯ã©ããªã®ãããªã©ãè¦ãã¦ãã¾ããè² è·ãã¹ããéãã¦ãµã¼ãã®éçãç¥ããã¨ã¯ããµã¼ãã®ã¬ã¸ãªã¨ã³ã·ã¼ã測å®ããæé©ãªæ¹æ³ã§ãããããããåé¡ã«å¯¾ããæºåã®æå©ãã«ããªãã¾ãã ãã¼ãã¸ã§ãã¬ã¼ã¿ãã¼ã« è² è·ãã¹ããããéã«é ã«å ¥ãã¦ããã¹
Flameã®ç®±ãæ¨ã¦ã¦ãã¾ã£ãããã©ããã£ã¦éãè¿ããå°ã£ã¦ãã¾ãã@kyo_agoã§ãã ä»æ¥ã¯2014å¹´6æã«Î²å ¬éããGREEãã£ããã§éä¿¡ã«ä½¿ç¨ãã¦ããSSEãç´¹ä»ãããã¨æãã¾ãã SSEã¨ã¯ SSEã¨ã¯Server-Sent Eventsã®ç¥ã§W3Cã§ææ¡ããã¦ããhtml5é¢é£APIã®ä¸ç¨®ã§ãã ããã¯ãµã¼ãã¨ã®éä¿¡ãJavaScript APIãä¸å¿ã¨ãããã®ã§ããµã¼ãããPushéä¿¡ãè¡ãããã®ä»æ§ã§ãã ãµã¼ãããPushéä¿¡ã«é¢ãã¦ã¯ããã¾ã§ãCometãWebSocketãåå¨ãã¾ããããSSEã¯äºææ§ãå¹çãªã©ã®ç¹ã§ãã以å¤ã®æè¡ã«å¯¾ããç¹å¾´ãããã¾ãã ããããã¯å ·ä½çãªä»æ§ããå®éã«ä½¿ç¨ããå ´åã®ææ³ãªã©ãç´¹ä»ãããã¨æãã¾ãã éä¿¡æ¹å¼ SSEã¯HTTP/1.1ã使ç¨ããContent-Type: text/event-streamã§éä¿¡ãè¡ãã¾ãã åºæ¬ç
ãªããDMMããweb3ã«åå ¥ããã®ããSeamoon Protocolããç®æãæ°ããªã¨ã³ã¿ã¡ä½é¨ã®æªæ¥ã¨ã¯
(訳注ï¼2015/8/4ãããã ãã翻訳ãã£ã¼ãããã¯ãå ã«è¨äºãä¿®æ£ãããã¾ããã) æ¬é¡ã«å ¥ãåã«å¼·èª¿ãã¦ããã¾ããWebSocketã¯åªããéä¿¡ãããã³ã«ã§ããå®éç§ã¯ãã® RFC6455 ãã Fanout ã®ãµã¼ãã¹ã§ä½¿ã£ã¦ãã( Zurl ã Pushpin ã¨ãã£ããã¼ãã§æ¡ç¨ãã¦ãã¾ããFanoutã§ã¯ã¾ãã Primus ï¼ç°ãªããªã¢ã«ã¿ã¤ã ãã¬ã¼ã ã¯ã¼ã¯éã§ã®éä¿¡ãå¯è½ã¨ããã©ããã¼ï¼ãå©ç¨ãã XMPP-FTWã¤ã³ã¿ã¼ãã§ã¼ã¹ ãä»ããWebSocketéä¿¡ããµãã¼ããã¦ãã¾ãã ããããªããç§ã¯ããã¾ã§ãå¤ãã®åºãæ®åãã¦ããã¢ããªã±ã¼ã·ã§ã³ã«ããªãã®æéãè²»ããããããã§RESTãã¡ãã»ã¼ã¸ã³ã°ãã¿ã¼ã³ã«ã¤ãã¦ã¯å¤å°ãªãã¨ãç解ãæ·±ã¾ã£ã¦ããä»ãå®ã¯WebSocketãå®è£ ããå ¸åçãªWebã¢ããªã±ã¼ã·ã§ã³ï¼ãããã¯WebSocketã©ã¤ã¯ãªæ½è±¡åã¬ã¤ã¤ï¼ã®å¤§é¨å
Webéçºè ã¯HTTPã«ã¤ãã¦ç¥ããªãï¼Webãç解ãã¦ãªãWebã¢ããªéçºè ï¼ã¨ãããã¨ãæ¸ãããã§ãããHTTPãç°¡åã«è¨ã£ã¦ãã¾ãã¨ããªã½ã¼ã¹ã«å¯¾ããCRUDã«ã¤ãã¦ã®åã決ãï¼ãããã³ã«ï¼ã§ããæ¬æ¥ã¯W3Cã®RFCãèªãã®ãè¯ããã§ããã以ä¸ã®ãµã¤ããé常ã«ããã¾ã¨ã¾ã£ã¦ãã¦èªã¿ãããã§ãã Studying HTTP ã§ãHTTPã®ç´°ããã¨ããã®è¨åã¯é¿ããã¨ãã¦ãakiçã«ã¯ããã®HTTPãå©ç¨ããã¨ãã«ééããããç¹ãã¾ã¨ãã¦ãããã¨æãã¾ãã â ãªã½ã¼ã¹ã«URIãå²ãå½ã¦ã¦ããªã ãªã½ã¼ã¹ã¨ããã®ã¯URIï¼Uniform Resource Identifierï¼ã¨ããIDã§ä¸æã«èå¥ããã¾ãã 1ã¤ã®URIã«è¤æ°ã®æå³ãæããã渡ããã©ã¡ã¼ã¿ï¼ã¯ã¨ãªã¼ã¹ããªã³ã°ãªã©ï¼ã§ãªã½ã¼ã¹ãèå¥ãããã¨ãããã¨ã§ãã ä¾ãã°ããããªæã /resources?type=entity&i
人éã¨ã¦ã§ãã®æªæ¥ï¼æ§ï¼ ãã¦ã§ãã®æ´å²ã¯äººé¡ã®æ´å²ã®ç¹°ãè¿ããã¨ãã観ç¹ããè²ã åå¼·ãã¦ãã¾ãã2014å¹´ã¾ã§ã®äººéã¨ã¦ã§ãã®æªæ¥ã®æ§ããã°ã§ãã æ¢åã®HTTPãWebãµã¼ãã®æè¡ãè¦ã¦ãããã®ã¨ãã¦ãæ°ããæè¡ã調æ»ãã¦ãããªãã¨ãããªããªã¨ãããã¨ã§ãä»æ¥ã¯HTTP/2ã¨SPDYã§ãããã¹ãå¯è½ãªWebãµã¼ãã®æ§è½ãè¦ã¦ã¿ããã¨æãã¾ãã HTTP/2ã®å®è£ ã¨ãã¦ã¯ãtatsuhiro-tããã®Cè¨èªå®è£ ã©ã¤ãã©ãªã§ããnghttp2ã«æ³¨ç®ãã¦ãããä»æ¥ã¯ãã®ã©ã¤ãã©ãªã使ã£ã¦å®è£ ããã¦ããWebãµã¼ãnghttpdãåãããSPDY/3.1ã§åä½ãã¦ããnginxã¨ã®æ§è½æ¯è¼ããã¾ãããHTTP/2ãSPDY/3.1ã¯ãã¡ããã¯ã©ã¤ã¢ã³ãå´ãæ¢åã®ãã³ããã¼ã¯ãã¼ã«ã§ã¯ãããã¹ãã§ããªãã®ã§ãnghttp2ã§å®è£ ããã¦ããh2loadã使ç¨ãã¾ãããweighttpã¨ä½¿ãæ¹ãä¼¼ã¦
è¿½è¨ @jovi0608 ããã«é常ã«ä¸å¯§ã«ã³ã¡ã³ããããã ãã¾ããã https://gist.github.com/shigeki/ba7941d114344ddd4b01 æ¬æ CROSS 2014ã®æ¬¡ä¸ä»£Webã»ãã·ã§ã³ã«åå ããã ããããåºæ¿ãåããã®ã§ãç¹ã«ãWebã¢ããªã±ã¼ã·ã§ã³ãéçºã»éç¨ããä¸ã§ãä»å¾ã©ãå½±é¿ãã¦ããã ããã¿ãããªè¦ç¹ã§æ´çãããã¨ãæ¸ãã¦ã¿ãã 次ä¸ä»£Webã»ãã·ã§ã³ã¯å»å¹´ãUSTã§è¦ã¦ã¦ããã£ã¡ãé¢ç½ãã£ãã®ã§ãä»å¹´ã¯çã§èãã«æ¥ãã å»å¹´ã®ã»ãã·ã§ã³ã®è°è«ã¯ã naoyaããã®è¨äºãé°å²æ°ãããããããã£ãã Webã¯ã¤ã³ã¿ã¼ãããã«ãªã£ã - naoyaã®ã¯ã¦ãªãã¤ã¢ãªã¼ å»å¹´ãSPDYã®å 容ã¨ã追ã£ã¦ã¦ãHTTP/1.1ã¨ä½ãéãã®ãã¿ãããªãã¨ã調ã¹ã¦æ¸ããããã¦ãã SPDYã§è¤æ°ã®TCPã³ãã¯ã·ã§ã³ãã²ã¨ã¤ã«ã¾ã¨ããã¨ã¯ã©ããããã¨ã -
Webãµã¼ãã¼ãã¬ã¹ãã³ã¹ãçºè¡ããéã«ãHTTPã¬ã¹ãã³ã¹ãããã¼ã«ä»ããã¨ã»ãã¥ãªãã£ã¬ãã«ã®åä¸ã«ã¤ãªãããããã¼ãã£ã¼ã«ããç´¹ä»ãã¾ãã å²ã¿å ã¯æ¨å¥¨ããè¨å®ã®ä¸ä¾ã§ãããã©ã¦ã¶ã«ãã£ã¦ã¯å¯¾å¿ãã¦ããªããããã¼ãã£ã¼ã«ãããªãã·ã§ã³ãªã©ãããã¾ãã®ã§ãã¯ã©ã¤ã¢ã³ãã®ç°å¢ã«ãã£ã¦ã¯æ©è½ããªããã¨ãããã¾ãã X-Frame-Options ãã©ã¦ã¶ã frame ã¾ã㯠iframe ã§æå®ãããã¬ã¼ã å ã«ãã¼ã¸ã表示ãããã¨ãå¶å¾¡ããããã®ãããã¼ãã£ã¼ã«ãã§ãã主ã«ã¯ãªãã¯ã¸ã£ããã³ã°ã¨ããæ»æãé²ãããã«ç¨ãããã¾ãã X-Frame-Options: SAMEORIGIN DENY ãã¬ã¼ã å ã«ãã¼ã¸ã表示ãããã¨ãç¦æ¢ï¼åããµã¤ãå ã§ãã£ã¦ãç¦æ¢ã§ãï¼ SAMEORIGIN èªåèªèº«ã¨çæå ãåããã¬ã¼ã ã®å ´åã«ãã¼ã¸ã表示ãããã¨ã許å¯ï¼ä»ã®ãµã¤ãã«ç¦æ¢ãããå ´åã¯ä¸»ã«ã
ã¨ããäºæ ã«ãããPOST ãªã¯ã¨ã¹ãããªãã¤ã¬ã¯ããããå¿ è¦ãçãã¾ãããåç´ã«ãªãã¤ã¬ã¯ãããã¦ã¿ãã¨ããããªãã¤ã¬ã¯ãã¯ããããã®ã®ãPOST ãªã¯ã¨ã¹ãã«ä»ä¸ãã¦ãã HTTP_BODY ãåå¾ã§ãã¾ãããã©ããããªãã¤ã¬ã¯ãæã« GET ã«å¤æ´ããã¦ããã¿ããã§ãã ã¼ãã¯æãã«éãããã®ã®ãRFC çã«ã¯ã©ãæ¯ãèãã¹ããªãã ãå種ãã©ã¦ã¶ã®æ¯èãã¯ã©ããªã£ã¦ãããã ãã¨ãããã¨ãæ°ã«ãªã£ãã®ã§ã¾ã¨ãã¦ã¿ã¾ãããå 容ã¨ãã¦ã¯ã -POSTãªã¯ã¨ã¹ãããªãã¤ã¬ã¯ãããã¨GETãããï¼POSTããã? - ã¯ãã¹ã«ã£ã ⨠ã®äºçªç ãã«ãªãã¾ãã å ã«çµæã示ãã¦ããã¨ã以ä¸ã®ã¨ããã§ããã Status Code æå¾ åä½ Firefox (25.0.1) Safari(7.0) Chrome (31.0) 301 POST GET GET GET 302 POST GET GE
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}