C#

[ASP.NET] PC/๋ชจ๋ฐ”์ผ ์ ‘์† ๊ตฌ๋ถ„ - Request.UserAgent & IndexOf

hyonie 2025. 3. 28. 14:41

 

 


1. Request.UserAgent (ASP.NET ์„œ๋ฒ„ ์ธก)

Request.UserAgent๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•œ ๋ธŒ๋ผ์šฐ์ €๋‚˜ ๋””๋ฐ”์ด์Šค์˜ ์ •๋ณด๋ฅผ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ASP.NET ์†์„ฑ์ž…๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์œ„์น˜: ASP.NET ์„œ๋ฒ„์ฝ”๋“œ(C#)
  • ์—ญํ• : HTTP ์š”์ฒญ ํ—ค๋”์—์„œ User-Agent ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ด
  • ์˜ˆ์‹œ
string userAgent = Request.UserAgent;
  • ๊ฒฐ๊ณผ: PC์ ‘์† ์‹œ ์•„๋ž˜ ์ฐธ๊ณ 

 

PC ์ ‘์†์‹œ:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36

 

์ด ๋ฌธ์ž์—ด ์•ˆ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์šด์˜์ฒด์ œ (์˜ˆ: Windows, Android, iPhone)
  • ๋ธŒ๋ผ์šฐ์ € ์ข…๋ฅ˜ (Chrome, Safari ๋“ฑ)
  • ๊ธฐํƒ€ ์ •๋ณด(WebKit, ๋ฒ„์ „ ๋“ฑ)

๐Ÿ‘‰์ด ๊ฐ’์„ ๋ถ„์„ํ•ด์„œ  "Windows"๋˜๋Š” "Mobile" ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ๋ชจ๋ฐ”์ผ ์ ‘์†์ธ์ง€, PC ์ ‘์†์ธ์ง€ ํŒ๋ณ„ ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

2. IndexOf("Mobile") ๋ž€?

IndexOf()๋Š” ๋ฌธ์ž์—ด ์•ˆ์—์„œ ํŠน์ • ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ˆซ์ž๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.

Request.UserAgent.IndexOf("Mobile") > -1
์กฐ๊ฑด ์˜๋ฏธ
"Mobile"์ด ์žˆ๋‹ค๋ฉด ๊ทธ ์œ„์น˜ ์ธ๋ฑ์Šค(์ˆซ์ž) ๋ฐ˜ํ™˜ > ๋ชจ๋ฐ”์ผ
"Mobile"์ด ์—†๋‹ค๋ฉด -1 ๋ฐ˜ํ™˜ > PC

 

์œ„ ์กฐ๊ฑด์€ ์‚ฌ์šฉ์ž์˜ UserAgent์— "Mobile"์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

โš  IndexOf()์˜ ์ฃผ์˜์‚ฌํ•ญ

indexOf๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ฏ€๋กœ IndexOf("mobile")๊ณผ "Mobile"์€ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. 

 

์ „์ฒด ํ๋ฆ„ ์š”์•ฝ

๊ตฌ์„ฑ ์˜๋ฏธ
Request.UserAgent ์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ € ์ •๋ณด (๋ฌธ์ž์—ด)
IndexOf("Mobile") ๋ฌธ์ž์—ด์— "Mobile"์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ์œ„์น˜ ๋ฐ˜ํ™˜(์—†์œผ๋ฉด -1)
> -1 ํฌํ•จ ์—ฌ๋ถ€ ํ™•์ธ
์ „์ฒด ์šฉ๋„ ์ ‘์†ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ๋ฐ”์ผ์ธ์ง€ ํŒ๋‹จ

 

๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋กœ ์‚ฌ์šฉ์ž์˜ ์ ‘์† ๋””๋ฐ”์ด์Šค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ณ , ์ ์ ˆํ•œ ํ™”๋ฉด ์ด๋™์„ ์‹œํ‚ฌ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

3. navigator.userAgent (ํด๋ผ์ด์–ธํŠธ ์ธก) 

  • ์‚ฌ์šฉ ์œ„์น˜: ๋ธŒ๋ผ์šฐ์ €(JavaScript)
  • ์—ญํ• : ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ User-Agent ๋ฌธ์ž์—ด์„ ๊ฐ€์ ธ์˜ด
  • ์˜ˆ์‹œ: 
const userAgent = navigator.userAgent;
console.log(userAgent);
  • ๊ฒฐ๊ณผ: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_3 like Mac OS X)..."
ํ•ญ๋ชฉ ASP.NET(์„œ๋ฒ„) JavaScript(ํด๋ผ์ด์–ธํŠธ)
์‚ฌ์šฉ๋ฒ• Request.UserAgent navigator.userAgent
์‹คํ–‰ ์œ„์น˜ ์„œ๋ฒ„ ๋ธŒ๋ผ์šฐ์ €
๋ชฉ์  ์ ‘์†ํ•œ ํด๋ผ์ด์–ธํŠธ ์ •๋ณด ํ™•์ธ ์ ‘์†๊ธฐ๊ธฐ / ๋ธŒ๋ผ์šฐ์ € ์ •๋ณดํ™•์ธ
๋ฐ˜ํ™˜๊ฐ’ User-Agent ๋ฌธ์ž์—ด User-Agent ๋ฌธ์ž์—ด
ํ™œ์šฉ ์˜ˆ ๋ชจ๋ฐ”์ผ ๋ฆฌ๋””๋ ‰์…˜, ๋ธŒ๋ผ์šฐ์ € ์ฒดํฌ ๋™์  UI ์กฐ์ ˆ, ์•Œ๋ฆผ ์„ค์ • ๋“ฑ