{"id":1160,"date":"2020-04-07T12:21:47","date_gmt":"2020-04-07T03:21:47","guid":{"rendered":"https:\/\/amati.io\/?p=1160"},"modified":"2026-10-07T08:23:43","modified_gmt":"2026-10-07T08:23:43","slug":"bye-user-agent-hello-client-hints","status":"publish","type":"post","link":"https:\/\/blog.neue.nz\/?p=1160","title":{"rendered":"UA\uac00 \uac00\uace0 Client Hints\uac00 \uc628\ub2e4"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><code>navigator.userAgent<\/code>\ub294 \ube0c\ub77c\uc6b0\uc800 \ud658\uacbd \ubcc4\ub85c \ub2e4\ub978 \ud654\uba74\uacfc \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub824\uace0 \ud560 \ub54c \uc720\uc6a9\ud55c \uc6f9\ube0c\ub77c\uc6b0\uc800 \ub0b4\uc7a5 \uac1d\uccb4\uc785\ub2c8\ub2e4. navigator\ub77c\ub294 \uc774\ub984\uc5d0\uc11c \ubcf4\uc774\ub4ef 1990\ub144\ub300 \ub137\uc2a4\ucf00\uc774\ud504 \uc6f9\ube0c\ub77c\uc6b0\uc800 \uc2dc\uc808\ubd80\ud130 2020\ub144 \ud604\uc7ac\uc5d0 \uc774\ub974\uae30\uae4c\uc9c0 \ud074\ub77c\uc774\uc5b8\ud2b8 \ud658\uacbd\uc744 \ubd84\uc11d\ud558\uae30 \uc704\ud574 \ub9ce\uc774 \uc0ac\uc6a9\ub418\uace0 \uc788\uc9c0\ub9cc, \uc774 \uac1d\uccb4\ub294 \uace7 \uc0ac\uc6a9\ud558\uc9c0 \ubabb\ud558\uac8c \ub420 \uc608\uc815\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.zdnet.com\/article\/google-to-phase-out-user-agent-strings-in-chrome\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.zdnet.com\/article\/google-to-phase-out-user-agent-strings-in-chrome\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uad6c\uae00\uc774 \uc790\uc0ac\uc758 Chrome \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c User Agent \ubb38\uc790\uc5f4\uc744 \ub2e8\uacc4\uc801\uc73c\ub85c \uc0ac\uc6a9 \uc911\ub2e8\ud560 \uacc4\ud68d\uc744 \ubc1c\ud45c\ud558\uace0 \ub300\uc548\uc73c\ub85c Client hints \ub97c \uc81c\uc548\ud588\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uc0ac\uc6a9\uc790 \uac1c\uc778\uc815\ubcf4\ub97c \ubcf4\ud638\ud558\uae30 \uc704\ud574 \ucd94\uc9c4\ud558\uace0 \uc788\ub294 <a rel=\"noreferrer noopener\" href=\"https:\/\/www.chromium.org\/Home\/chromium-privacy\/privacy-sandbox\" target=\"_blank\">\ud504\ub77c\uc774\ubc84\uc2dc \uc0cc\ub4dc\ubc15\uc2a4 \uc815\ucc45<\/a> \uc911 \ud558\ub098\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Client hints\ub294 W3C \ud45c\uc900\uc740 \uc544\ub2c8\uba70, W3C \ud45c\uc900 \ud2b8\ub799\uc5d0\ub3c4 \uc5c6\ub294 \ub0b4\uc6a9\uc785\ub2c8\ub2e4. Web platform Incubator Community Group(WICG)\uc5d0\uc11c \ubc1c\ud45c\ud55c \uc81c\uc548\uc77c \ubfd0, \uc55e\uc73c\ub85c \ubcc0\uacbd\ub420 \uac00\ub2a5\uc131\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ud604\uc7ac <code>Accept-CH<\/code> \ud5e4\ub354\ub85c \ud06c\ub86c\uacfc \ud30c\uc774\uc5b4\ud3ed\uc2a4\uc5d0\uc11c \uc77c\ubd80 \uc2a4\ud399\uc744 \uad6c\ud604\ud55c \uc0c1\ud0dc\uc778\ub370\uc694, \uc8fc\uc694 \uc6f9\ube0c\ub77c\uc6b0\uc800 \ubca4\ub354\uc778 Apple, Microsoft \ub3c4 UA\uc758 \uc0ac\uc6a9 \uc911\ub2e8\uc5d0 \ub3d9\uc758\ud55c \uc0c1\ud669\uc774\uae30 \ub54c\ubb38\uc5d0 Client hints\uc758 \uc815\ucc29\uc740 \uc2dc\uac04 \ubb38\uc81c\uc77c \uac83 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\uc65c Client hints\uc778\uac00?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">UA\ub294 \uc774\uc81c\uae4c\uc9c0 \uc6f9\ube0c\ub77c\uc6b0\uc800, \uc6b4\uc601\uccb4\uc81c, OS \ud658\uacbd \ub4f1\uc744 \uc11c\ubc84\uc5d0 \uc804\ub2ec\ud558\uc5ec \ucd5c\uc801\ud654\ub41c \uc11c\ube44\uc2a4\ub97c \ubc1b\uc744 \uc218 \uc788\uac8c \ub3c4\uc640\uc8fc\ub294 \uc5ed\ud560\uc744 \uc8fc\ub85c \ud588\uc9c0\ub9cc, \ucd5c\uadfc \uac1c\uc778\uc815\ubcf4\uc640 \ubcf4\uc548 \uc0c1\uc758 \ub2e8\uc810\uc774 \ubd80\uac01\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uad11\uace0\uc8fc\uac00 \ud2b9\uc815 \uc720\uc800\ub97c \ucd94\uc801\ud558\uace0 \uc9c0\ubb38\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc73c\ub85c \uc774\uc6a9\ud568 (fingerprint)<\/li>\n\n\n\n<li>\ud2b9\uc815 Internet Provider\uc5d0\uc11c \uc0ac\uc6a9\uc790\uc758 \uc81c\ud55c\uc744 \uc704\ud55c \uc815\ubcf4\ub85c \uc0ac\uc6a9\ub428 (\uc811\uadfc \uae08\uc9c0 \ub4f1)<\/li>\n\n\n\n<li>\ud2b9\uc815 \uc11c\ube44\uc2a4\uc5d0\uc11c \uc6f9\ube0c\ub77c\uc6b0\uc800\uc758 \uc885\ub958\ub97c \ud30c\uc545\ud558\uc5ec \uc11c\ube44\uc2a4\ub97c \uc81c\ud55c\ud568 (\uc2ec\uc9c0\uc5b4 \uad6c\uae00\ub3c4 \uc774 \uc0ac\ub840\uc5d0 \ud574\ub2f9\ud558\ub294\ub370, \ub300\ud45c\uc801\uc73c\ub85c \uc720\ud29c\ube0c\uc758 \ube0c\ub77c\uc6b0\uc800\ubcc4 \uae30\ub2a5\uc81c\ud55c)<\/li>\n\n\n\n<li>\uc77c\ubd80 minor\ud55c \uc6f9\ube0c\ub77c\uc6b0\uc800\uac00 major\ud55c \ub2e4\ub978 \uc6f9\ube0c\ub77c\uc6b0\uc800\uc758 UA\ub97c \ud749\ub0b4\ub0c4<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc704\uc640 \uac19\uc740 \uc5ec\ub7ec\uac00\uc9c0 \uc774\uc720 \ub54c\ubb38\uc5d0 \uad6c\uae00\uc740 \uc790\uc0ac\uc758 Chrome \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c UA\ub97c \uc644\uc804\ud788 static\ud55c \ubb38\uc790\uc5f4\ub85c \ubcc0\uacbd\ud560 \uc608\uc815\uc774\uba70, \ub300\ub7b5 2020\ub144 9\uc6d4 \uc815\ub3c4\uc5d0 \uc801\uc6a9\ub420 \uc608\uc815\uc774\ub77c\uace0 \ud569\ub2c8\ub2e4. \uacc4\ud68d\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Version<\/th><th>Plan<\/th><\/tr><\/thead><tbody><tr><td>Chrome 81 (2020 \ub144 3 \uc6d4 \uc911\uc21c)<\/td><td>Chrome \ucf58\uc194\uc5d0 UA \ubb38\uc790\uc5f4\uc744 \uc77d\ub294 \uc6f9 \ud398\uc774\uc9c0\uc5d0 \ub300\ud55c \uacbd\uace0\ub97c \ud45c\uc2dc\ud558\uc5ec \uac1c\ubc1c\uc790\uac00 \uc6f9 \uc0ac\uc774\ud2b8 \ucf54\ub4dc\uc758 \uc218\uc815\uc744 \uc720\ub3c4\ud560 \uacc4\ud68d\uc785\ub2c8\ub2e4.<\/td><\/tr><tr><td>Chrome 83 (2020\ub144 6\uc6d4 \ucd08)<\/td><td>UA \ubb38\uc790\uc5f4\uc758 Chrome \ube0c\ub77c\uc6b0\uc800 \ubc84\uc804\uc744 \ub3d9\uacb0\ud558\uace0 OS \ubc84\uc804\uc744 \ud1b5\ud569\ud569\ub2c8\ub2e4.<\/td><\/tr><tr><td>Chrome 85 (2020\ub144 9\uc6d4 \uc911\uc21c)&nbsp;<\/td><td>\ub370\uc2a4\ud06c\ud1b1 \ubc84\uc804\uc758 UA \ubb38\uc790\uc5f4\uc744 \uacf5\ud1b5 \uac12\uc73c\ub85c \ub3d9\uacb0\ud558\uace0 \ubaa8\ubc14\uc77c\uc5d0\uc11c\ub3c4 OS\uc640 \ub2e8\ub9d0\uae30 \ubb38\uc790\uc5f4\uc744 \uacf5\ud1b5 \uac12\uc73c\ub85c \ub3d9\uacb0\ud560 \uc608\uc815\uc785\ub2c8\ub2e4.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ucc38\uace0\ub85c Chrome 81\uc758 \ub9b4\ub9ac\uc988\ub294 \ucf54\ub85c\ub098 \ubc14\uc774\ub7ec\uc2a4\uc758 \uc601\ud5a5\uc73c\ub85c \uc778\ud574 \uc57d\uac04\uc758 \uc77c\uc815 \uc9c0\uc5f0\uc774 \uc788\uc5b4 2020\ub144 4\uc6d4 7\uc77c \uc608\uc815\uc774\uc5c8\uc9c0\ub9cc \uc544\uc9c1\uae4c\uc9c0 \ub9b4\ub9ac\uc988\ub418\uc9c0 \uc54a\uc544 \uc77c\uc815 \uc9c0\uc5f0\uc774 \uc788\ub294 \uac83\uc73c\ub85c \uc0dd\uac01\ub429\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">UA\uc758 \uc0ac\uc6a9 \uc911\ub2e8\uc73c\ub85c \uc778\ud574 \uc9c1\uc811\uc801\uc73c\ub85c \ud0c0\uaca9\uc744 \ubc1b\ub294 \uc8fc\uccb4\ub294 \uc544\ubb34\ub798\ub3c4 \uc628\ub77c\uc778 \uad11\uace0\uc5c5\uacc4\uac00 \ub420 \uac83\uc774\uae30\uc5d0, \uad11\uace0\uc5c5\uacc4\uc5d0\uc11c\ub294 \ub2f9\uc5f0\ud788 UA\uc758 \ud3d0\uc9c0\ub97c \ubc18\uae30\uc9c0 \uc54a\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc870\uce58\ub294 \uac01\uac01\uc758 \ud658\uacbd\uc5d0\uc11c \ub2e4\ub978 \uae30\ub2a5\uc744 \uc81c\uacf5\ud574\uc57c \ud558\ub294 \ud504\ub860\ud2b8\uc5d4\ub4dc \uc5d4\uc9c0\ub2c8\uc5b4 \uc785\uc7a5\uc5d0\uc11c\ub3c4 \uc880 \uadc0\ucc2e\uc740 \uc791\uc5c5\uc774 \ub420 \uac83 \uac19\uc2b5\ub2c8\ub2e4. \ub610\ud55c \uacfc\uac70\uc758 \uc6f9\ube0c\ub77c\uc6b0\uc800\ub4e4\uc740 \uc5ec\uc804\ud788 User Agent\ub85c \ud658\uacbd\uc744 \ubd84\uc11d\ud574\uc57c \ud558\uae30 \ub54c\ubb38\uc5d0 \uc6f9\ube0c\ub77c\uc6b0\uc800\uc758 \ubc84\uc804\uc744 \ud655\uc778\ud558\uc5ec User Agent, Client hints \uc911 \uc5b4\ub290 \uac83\uc744 \uc0ac\uc6a9\ud560\uc9c0 \uacb0\uc815\ud558\ub294 \uacfc\uc815\ub3c4 \ud544\uc694\ud569\ub2c8\ub2e4. \ub610\ud55c Client hints\ub294 \ubcf4\uc548\uc744 \uc704\ud574 HTTPS \ud504\ub85c\ud1a0\ucf5c\uc5d0\uc11c\ub9cc \uc9c0\uc6d0\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\uc9c0\ub9cc \ud604\uc7ac\uc758 draft \uc0c1\uc73c\ub85c\ub294 UA\ub85c \uc54c \uc218 \uc788\ub294 \uc815\ubcf4 \uc678\uc5d0 DPR, viewport-width \ub4f1\uc758 \uc815\ubcf4\ub3c4 \ucde8\ub4dd\ud560 \uc218 \uc788\uc5b4 \uc6f9\uac1c\ubc1c\uc5d0\ub294 \ub354 \ud3b8\ub9ac\ud558\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc9c0 \uc54a\uc744\uae4c \ud569\ub2c8\ub2e4. \uac1c\ubc1c\uc790 \uc785\uc7a5\uc5d0\uc11c\uc758 \uc7a5\uc810\uc740 \uc544\ub2c8\uc9c0\ub9cc \uc6f9\ube0c\ub77c\uc6b0\uc800\ub97c \uc0ac\uc6a9\ud558\ub294 \uc720\uc800 \uc785\uc7a5\uc5d0\uc11c\ub3c4 \uc81c\uacf5\ud560 \uc218 \uc788\ub294 \uc815\ubcf4\ub97c \ucde8\uc0ac \uc120\ud0dd\ud560 \uc218 \uc788\ub2e4\ub294 \uc810\ub3c4 \ubc18\uae38\ub9cc\ud55c \uc810\uc785\ub2c8\ub2e4. (\ucc38\uace0 : <a href=\"https:\/\/wicg.github.io\/ua-client-hints\/#access\">https:\/\/wicg.github.io\/ua-client-hints\/#access<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Client hints\ub294 \ud06c\ub86c \uce74\ub098\ub9ac\uc544 (2020.04 \ud604\uc7ac 84.0.4106.0 64bit) \uc5d0\uc11c <code>chrome:\/\/flags<\/code>\uc5d0 \uc811\uadfc\ud558\uc5ec &#8220;Experimental Web Platform features&#8221;, &#8220;Freeze User-Agent request header&#8221; \ub97c enabled \ub85c \uc804\ud658\ud558\uba74 \uc815\uc2dd \ubc84\uc804\uc5d0 \uc801\uc6a9\ub418\uae30 \uc804\uc5d0 \uba3c\uc800 \ud14c\uc2a4\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/i1.wp.com\/amati.io\/wp-content\/uploads\/2020\/04\/client_hints_flags.png?fit=620%2C439&amp;ssl=1\" alt=\"\" class=\"wp-image-1227\"\/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Client hints\uc758 \ud65c\uc6a9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Client hints\ub294 \uaf64 \uc624\ub798 \uc804\uc778 2015\ub144 Chrome 43\ubd80\ud130 \uc81c\uacf5\ub41c \uae30\ub2a5\uc785\ub2c8\ub2e4. \ub2f9\uc2dc\uc758 \uae30\ub2a5\uc740 viewport-width, width, dpr \ub4f1\uc744 \uc11c\ubc84\uc5d0 \uc804\ub2ec\ud558\uc5ec \uc11c\ubc84 \uce21\uc5d0\uc11c \ud574\ub2f9 \uc815\ubcf4\ub97c  \ubc14\ud0d5\uc73c\ub85c \uc804\uc1a1\ud560 \ub9ac\uc18c\uc2a4\ub97c \uacb0\uc815\ud558\ub294 \uac83\uc744 \ub3c4\uc640\uc8fc\ub294 \uc5ed\ud560\uc774\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Client hints\ub97c \uc774\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294 <code>Accept-CH<\/code> header\ub97c  response header\uc5d0 \ucd94\uac00\ud558\uac70\ub098, html \ud398\uc774\uc9c0\uc5d0 <code>&lt;meta&gt;<\/code> \ud0dc\uadf8\ub97c \ucd94\uac00\ud558\uba74 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>Accept-CH: device-memory, dpr, width, viewport-width, rtt, downlink, ect\nAccept-CH-Lifetime: 86400<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">Accept<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">CH<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">device<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">memory<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">dpr<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">width<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">viewport<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">width<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">rtt<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">downlink<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ect<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">Accept<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">CH<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">Lifetime<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">86400<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;meta http-equiv=\"Accept-CH\" content=\"device-memory, dpr, width, viewport-width, rtt, downlink, ect\">\n&lt;meta http-equiv=\"Accept-CH-Lifetime\" content=\"86400\"><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">&lt;meta<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">http-equiv<\/span><span style=\"color: #ECEFF4\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Accept-CH<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">content<\/span><span style=\"color: #ECEFF4\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">device-memory, dpr, width, viewport-width, rtt, downlink, ect<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">&lt;meta<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">http-equiv<\/span><span style=\"color: #ECEFF4\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Accept-CH-Lifetime<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">content<\/span><span style=\"color: #ECEFF4\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">86400<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Accept-CH<\/code> \ud5e4\ub354\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8 \uce21\uc5d0 \uc694\uccad\ud560 \uc0ac\uc6a9\uc790 \uc815\ubcf4\ub97c \uc815\uc758\ud560 \uc218 \uc788\uc73c\uba70, <code>Accept-CH-Lifetime<\/code> \ud5e4\ub354\ub294 Chrome 67\ubd80\ud130 \ucd94\uac00\ub41c \uc2a4\ud399\uc73c\ub85c Accept-CH \ud5e4\ub354\uc5d0 \uc815\uc758\ub41c \uac12\uc744 \uc804\ub2ec\ud55c \uc774\ud6c4 \uc9c0\uc815\ub41c \uc2dc\uac04\ub3d9\uc548 \uce90\uc26c\ub418\ub3c4\ub85d \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ucd08 \ub2e8\uc704\uc774\uba70 \ucd5c\ub300 86400\ucd08(1\uc77c)\ub85c \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>device-memory : \ub514\ubc14\uc774\uc2a4\uc758 \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uba54\ubaa8\ub9ac. \uc2dc\uc2a4\ud15c\uc758 RAM \uc6a9\ub7c9\uacfc\ub294 \uc77c\uce58\ud558\uc9c0 \uc54a\uc74c<\/li>\n\n\n\n<li>dpr : device pixel ratio<\/li>\n\n\n\n<li>width : \uc694\uccad\ub41c \ub9ac\uc18c\uc2a4\uac00 \uc774\ubbf8\uc9c0\uc77c \uacbd\uc6b0, viewport\uc5d0 \ud45c\uc2dc\ub418\uc5b4 DPR\uc774 \uc801\uc6a9\ub41c css px \ub2e8\uc704\uc758 width<\/li>\n\n\n\n<li>viewport-width : css px \ub2e8\uc704\uc758 viewport width<\/li>\n\n\n\n<li>rtt : round-trip time<\/li>\n\n\n\n<li>downlink : \ucd94\uc815\ub418\ub294 \ub2e4\uc6b4\ub85c\ub4dc \uc18d\ub3c4 (Mbit\/s \ub2e8\uc704)<\/li>\n\n\n\n<li>ect : \ucd94\uc815\ub418\ub294 connection type<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/i2.wp.com\/amati.io\/wp-content\/uploads\/2020\/04\/client_hints_old.png?fit=620%2C548&amp;ssl=1\" alt=\"\" class=\"wp-image-1223\"\/><figcaption class=\"wp-element-caption\">Accept-CH header\ub97c \ud1b5\ud574 \uc694\uccad\ub41c request header<\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Client Hints\uc758 \uc0c8\ub85c\uc6b4 \uc635\uc158 \ud65c\uc6a9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">UA\ub97c \ub300\uccb4\ud558\uae30 \uc704\ud574 \uace7 \ucd94\uac00\ub420 Client hints\uc758 \uc635\uc158\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;meta http-equiv=\"Accept-CH\" content=\"UA, UA-Platform, UA-Arch, UA-Model, UA-Mobile, UA-Full-Version\"><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>UA : \uc6f9\ube0c\ub77c\uc6b0\uc800\uc758 \uc774\ub984\uacfc \ubc84\uc804 (Accept-CH \ud5e4\ub354\uc640 \uad00\uacc4\uc5c6\uc774 \uc804\uc1a1\ub428)<\/li>\n\n\n\n<li>UA-Platform : \ud50c\ub7ab\ud3fc(OS)\uc758 \uc774\ub984\uacfc \ubc84\uc804<\/li>\n\n\n\n<li>UA-Arch : \ud50c\ub7ab\ud3fc(OS)\uc758 \uc544\ud0a4\ud14d\uccd0<\/li>\n\n\n\n<li>UA-Model : \uae30\uae30 \ubaa8\ub378\uba85<\/li>\n\n\n\n<li>UA-Mobile : \uae30\uae30\uc758 \ubaa8\ubc14\uc77c \uc5ec\ubd80 &#8220;?0&#8221; \ub610\ub294 &#8220;?1&#8221;<\/li>\n\n\n\n<li>UA-Full-Version : \uc6f9\ube0c\ub77c\uc6b0\uc800\uc758 \ubc84\uc804 \uc804\uccb4<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/i2.wp.com\/amati.io\/wp-content\/uploads\/2020\/04\/client_hints_new.png?fit=620%2C569&amp;ssl=1\" alt=\"\" class=\"wp-image-1224\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc640 \ub3d9\uc2dc\uc5d0 \uc0c8\ub85c\uc6b4 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc778\ud130\ud398\uc774\uc2a4\ub85c <code>navigator.userAgentData<\/code> \ub77c\ub294 \uac1d\uccb4\uac00 \ucd94\uac00\ub420 \uc608\uc815\uc785\ub2c8\ub2e4. \uc774 \uc778\ud130\ud398\uc774\uc2a4 \uc5ed\uc2dc Client hints header\uc640 \ub3d9\uc77c\ud558\uac8c HTTPS \ud504\ub85c\ud1a0\ucf5c\uc5d0\uc11c\ub9cc \uc9c0\uc6d0\ub429\ub2c8\ub2e4. Low entropy value\uc640 High entropy value\ub85c \uad6c\ubd84\ub418\uc5b4 \uc788\ub294\ub370, High entropy value\uc758 \uacbd\uc6b0 Promise\ub85c \ub3d9\uc791\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Low entropy values\nnavigator.userAgentData.mobile;\nnavigator.userAgentData.uaList;\n\/\/ High entropy values\nnavigator.userAgentData.getHighEntropyValues([\n  \"platform\",\n  \"platformVersion\",\n  \"architecture\",\n  \"model\",\n  \"uaFullVersion\"\n]).then(res => console.log(res)); \/\/ Promise<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/amati.io\/wp-content\/uploads\/2020\/04\/client_hints_js.png?fit=620%2C349&amp;ssl=1\" alt=\"\" class=\"wp-image-1226\"\/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\uc778\uc801\uc73c\ub85c \uc0dd\uac01\ud560 \ub54c \uad6c\uae00\uc758 \ud504\ub77c\uc774\ubc84\uc2dc \uc0cc\ub4dc\ubc15\uc2a4 \uc815\ucc45\uc774\ub77c\ub294 \uac83\uc774 \uc870\uae08 \uae09\ud558\uac8c \uc9c4\ud589\ub418\uace0 \uc788\ub294 \uac83 \uac19\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uc758 \uac1c\uc778\uc815\ubcf4 \ubcf4\ud638\ub77c\ub294 \uc774\uc720\ub294 \uc778\ud130\ub137 \uc0ac\uc6a9\uc790\ub85c\uc11c\ub3c4, \uc6f9\uac1c\ubc1c\uc790\ub85c\uc11c\ub3c4 \ud658\uc601\ud558\ub294 \ubc14\uc774\uc9c0\ub9cc, \uc6f9\ube0c\ub77c\uc6b0\uc800 \uc2dc\uc7a5\uc744 \uc2e4\uc9c8\uc801\uc73c\ub85c \uc7a5\uc545\ud558\uace0 \uc788\ub294 \ud06c\ub86c\uc5d0\uc11c \uacb0\uc815\ud558\uac8c \ub418\uba74 \ubaa8\ub4e0 \ubca4\ub354\ub4e4\uc774 \ub530\ub77c\uac08 \uc218\ubc16\uc5d0 \uc5c6\uace0 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 \uc785\uc7a5\uc5d0\uc11c\ub3c4 \ub300\uc751\uc5d0 \ud63c\ub780\uc774 \uc0dd\uae30\ub294 \uacbd\uc6b0\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc544\uc8fc \uc624\ub7ab\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc5c8\ub358 UA\ub97c \ub300\uccb4\ud558\ub294 Client hints \ub294 W3C \ud45c\uc900\uc73c\ub85c \uc9c0\uc815\ub418\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\uc774\uace0, \uad6c\uae00\uc758 \ub2e4\ub978 \ubcf4\uc548 \uc815\ucc45 \uc911 \ud558\ub098\uc778 <a rel=\"noreferrer noopener\" href=\"https:\/\/web.dev\/samesite-cookies-explained\/\" target=\"_blank\">SameSite Cookie<\/a> \ub3c4 \uc138\uacc4\uc801\uc73c\ub85c \ubb38\uc81c\uac00 \ub41c \ucf54\ub85c\ub098 \ubc14\uc774\ub7ec\uc2a4 \ub54c\ubb38\uc5d0 \uc801\uc6a9\uc774 \ubbf8\ub8e8\uc5b4\uc84c\ub294\ub370\uc694&#8230; \ub192\uc740 \uc810\uc720\uc728\uc744 \ubc14\ud0d5\uc73c\ub85c \uc815\ucc45\uc744 \ub04c\uace0 \uac00\ub294 \uac83\ubcf4\ub2e4\ub294 \ub2e4\ub978 \ubca4\ub354\ub4e4\uacfc W3C\uc640 \ud568\uaed8 \ud45c\uc900\uc73c\ub85c \ucda9\ubd84\ud788 \ub17c\uc758\ud558\uace0 \uacb0\uc815\ud55c \ud6c4 \ub3c4\uc785\ud558\uba74 \uc88b\uaca0\ub2e4\ub294 \uc0dd\uac01\uc744 \ud574\ubd05\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/wicg.github.io\/ua-client-hints\/\">https:\/\/wicg.github.io\/ua-client-hints\/<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/@pakss328\/http-client-hint-accept-ch-45c62b393867\">https:\/\/medium.com\/@pakss328\/http-client-hint-accept-ch-45c62b393867<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/@galmeiri\/get-ready-for-chrome-user-agent-string-phase-out-c6840da1c31e\">https:\/\/medium.com\/@galmeiri\/get-ready-for-chrome-user-agent-string-phase-out-c6840da1c31e<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>navigator.userAgent\ub294 \ube0c\ub77c\uc6b0\uc800 \ud658\uacbd \ubcc4\ub85c \ub2e4\ub978 \ud654\uba74\uacfc \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub824\uace0 \ud560 \ub54c \uc720\uc6a9\ud55c \uc6f9\ube0c\ub77c\uc6b0\uc800 \ub0b4\uc7a5 \uac1d\uccb4\uc785\ub2c8\ub2e4. navigator\ub77c\ub294 \uc774\ub984\uc5d0\uc11c \ubcf4\uc774\ub4ef 1990\ub144\ub300 \ub137\uc2a4\ucf00\uc774\ud504 \uc6f9\ube0c\ub77c\uc6b0\uc800 \uc2dc\uc808\ubd80\ud130 2020\ub144 \ud604\uc7ac\uc5d0 \uc774\ub974\uae30\uae4c\uc9c0 \ud074\ub77c\uc774\uc5b8\ud2b8 \ud658\uacbd\uc744 \ubd84\uc11d\ud558\uae30 \uc704\ud574 \ub9ce\uc774 \uc0ac\uc6a9\ub418\uace0 \uc788\uc9c0\ub9cc, \uc774 \uac1d\uccb4\ub294 \uace7 \uc0ac\uc6a9\ud558\uc9c0 \ubabb\ud558\uac8c \ub420 \uc608\uc815\uc785\ub2c8\ub2e4. https:\/\/www.zdnet.com\/article\/google-to-phase-out-user-agent-strings-in-chrome\/ \uad6c\uae00\uc774 \uc790\uc0ac\uc758 Chrome \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c User Agent \ubb38\uc790\uc5f4\uc744 \ub2e8\uacc4\uc801\uc73c\ub85c \uc0ac\uc6a9 \uc911\ub2e8\ud560 \uacc4\ud68d\uc744 \ubc1c\ud45c\ud558\uace0 \ub300\uc548\uc73c\ub85c Client hints \ub97c [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1236,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[38,39,70,130],"class_list":["post-1160","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend-dev-story","tag-chrome","tag-client-hints","tag-google","tag-user-agent"],"_links":{"self":[{"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/posts\/1160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1160"}],"version-history":[{"count":2,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/posts\/1160\/revisions"}],"predecessor-version":[{"id":1167,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=\/wp\/v2\/posts\/1160\/revisions\/1167"}],"wp:attachment":[{"href":"https:\/\/blog.neue.nz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.neue.nz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}