Web Programming34 μ€λ§νΈ μ€ν μ΄μ λμ API νΈμΆ νμ©λ μ ν λ°©λ² - ν ν° λ²ν· μκ³ λ¦¬μ¦ π©κ°μμ¬λ΄ ERP μλΉμ€μ μ¬λ¬ μΌνλͺ° κΈ°λ₯μ μ°λνλ κ°μ μμ μ μ§ννλ μ€, ν κ°μ§ νΉμ΄ν μ μ λ°κ²¬νμ΅λλ€. μ¬λ¬ μΌνλͺ° κ°μ΄λ°μμλ λ€μ΄λ²μ μ€λ§νΈμ€ν μ΄ μ°λμμλ§ μ λ μ€ν¨ μλ΅μ΄ λΉλ²νκ² λ°μνκ³ μμμ΅λλ€. μλ΅ λ©μμ§λ λλΆλΆ λμΌνμ΅λλ€.“ν λΉλ μκ°λΉ μμ²λμ μ΄κ³Όνμμ΅λλ€.” μ ν¬ μλΉμ€μμλ μ΄λ¬ν μ€ν¨ 건μ λ¨μ μ€λ₯λ‘ μ²λ¦¬νκ³ , μ¬μ©μμκ² “μ μ ν λ€μ μλν΄ λ¬λΌ”λ μλ΄λ§ μ 곡νκ³ μμμ΅λλ€.μ λ μ€ν¨ λΉλκ° λ°λ³΅μ μΌλ‘ λ°μνλ μ μ΄ λ¨μν μΌμμ μ₯μ λ‘ λ³΄κΈ°μλ μ΄μνλ€λ μκ°μ΄ λ€μμ΅λλ€. μμΈμ μΆμ ν΄λ³Έ κ²°κ³Ό, λ¬Έμ λ μλ² μ₯μ κ° μλλΌ νΈμΆ λ°©μ μ체μ μμμ΅λλ€. λ€μ΄λ²μ μ€λ§νΈμ€ν μ΄λ API νΈμΆ νμ©λμ λμ μΌλ‘ μ ννκ³ μμμ§λ§, μ ν¬ μμ€ν μ ν΄λΉ μ .. Web Programming 2025. 12. 27. OAuth 2.0 μ΄ν΄μ TikTok Shop API μ°λνκΈ° μ¬λ΄μμ ν΅ν© μΌνλͺ° μ°λμλΉμ€μ μλ‘κ² λλ¨μ μμ₯μ 겨λ₯νμ¬, TikTok Shop μ€νλ§μΌ μ°λμ λ΄λΉνκ² λμ΅λλ€. TikTok Shop API λ₯Ό μ°λνλ©΄μ TikTok Shop μμ μΈμ¦μΈκ°λ₯Ό OAuth 2.0 λ°©μμ μ¬μ©νκΈΈλ, 곡λΆλν κ²Έ κΈλ‘ μμ±ν΄λ³΄μμ΅λλ€. νλ μΉ μλΉμ€μμ OAuth 2.0 κ° λ§€μ° λ리 μ¬μ©λ©λλ€. νΉν, λ§μ κ°λ°μλ€μ΄ λ¨μν 'μμ λ‘κ·ΈμΈ' κΈ°μ λ‘λ§ μκ³ μλ OAuth 2.0μ λ³Έμ§μ μΈ λͺ©μ κ³Ό, νμ μμ κ°μ₯ λ§μ΄ μ¬μ©λλ Authorization Code Flowμ λμ μ리, κ·Έλ¦¬κ³ OpenID Connect(OIDC)λ₯Ό ν΅ν μΈμ¦(Authentication) νμ₯κΉμ§ λͺ νν μ λ¦¬ν΄ λλ¦¬κ³ μ ν©λλ€. πOAuth 2.0 — μΈκ°(Authorizat.. Web Programming 2025. 9. 7. μΈμ¦(Authentication)κ³Ό μΈκ°(Authorization) κ·Έλ¦¬κ³ μλΉμ€ κ·λͺ¨μ λ°λ₯Έ μΈμ¦μΈκ° λ³μ²μ¬ μΈμ¦μ΄λ 무μμΈκ°μΈμ¦μ μ¬μ©μκ° λꡬμΈμ§ νμΈνλ κ³Όμ μ λλ€.λ‘κ·ΈμΈμ μλ‘ λ€λ©΄, μ¬μ©μκ° μ λ ₯ν μμ΄λμ λΉλ°λ²νΈκ° λ°μ΄ν°λ² μ΄μ€μ μ μ₯λ κ°κ³Ό μΌμΉνλμ§ νμΈνλ κ³Όμ μ΄ λ°λ‘ μΈμ¦μ λλ€.μλ₯Ό λ€μ΄ μΆμ μ¦μ λ°λ μν©μ μκ°ν΄λ³΄μλ©΄ μ΄ν΄κ° μ½μ΅λλ€. μΆμ μ¦μ ν΅ν΄ ν΄λΉ μΈλ¬Όμ΄ μ€μ ꡬμ±μμΈμ§ μ μ¦νλ κ²μ΄ κ³§ μΈμ¦μ λλ€. μΈμ¦ μ²λ¦¬κ° λμ§ μμΌλ©΄ μλ²λ ν΄λΌμ΄μΈνΈμκ² 401 μλ¬λ₯Ό μλ΅ν μ μμ΅λλ€. 401 μλ¬λ "κΆν μμ(Unauthorized)"μ μλ―Ένλ HTTP μν μ½λλ‘, μ¬μ©μκ° μμ²ν 리μμ€μ μ κ·ΌνκΈ° μν μ ν¨ν μΈμ¦ μ 보(λ‘κ·ΈμΈ μ 보 λ±)κ° λΆμ‘±νκΈ° λλ¬Έμ λ°μν©λλ€. μ΄ μλ¬λ₯Ό ν΄κ²°νλ €λ©΄ λ‘κ·ΈμΈ μ 보λ₯Ό λ€μ νμΈνκ³ μ¬λ°λ₯΄κ² μ λ ₯νκ±°λ, λΈλΌμ°μ μΊμλ₯Ό μμ νκ±°λ, μ¬μ΄νΈ κ΄λ¦¬.. Web Programming 2025. 8. 27. μ€λ¬΄μμ λ리 μ°μ΄λ λ€νΈμν¬ κΈ°λ° νλ‘μΈμ€ ν΅μ κΈ°μ (HTTP / Message Queue / WebSocket) π© κ°μ ν μ 무 νΉμ±μ μΈλΆ μλ²μ ν΅μ μλΉμ€λ₯Ό ꡬννλ©΄μ λ§€μ° ν₯λ―Έλ‘μ λ μ μ, μ¬λ΄ Rac(Remote Access Control) κ°μ²΄μ μ μ ν κ΅¬μ± μμλ§ μ±μ°λ©΄ κ³§λ°λ‘ HTTP Request λ©μμ§κ° μμ±λμ΄ μΈλΆ μ»΄ν¬λνΈμ ν΅μ μ΄ μ΄λ£¨μ΄μ§λ€λ μ¬μ€μ΄μμ΅λλ€. λ§μΉ “HTTP Clientλ₯Ό μ§μ ꡬννμ§ μμλ λ€νΈμν¬ μμ²μ΄ λ§λ€μ΄μ§λ” μΆμν κ³μΈ΅μ΄ μ‘΄μ¬νκ³ , μ΄ μΈν°νμ΄μ€λ₯Ό μ¬μ©νμ¬ μΈλΆμ ν΅μ νκ³ μμμ΅λλ€.μ΄ κΈμμλ μ¬λ΄ μλΉμ€ λ΄λΆμμ IPC(Inter-Process Communication), νΉν μΈλΆ μμ€ν κ³Ό ν΅μ νλ Racμ λμ νλ¦μ μ€μ¬μΌλ‘ μ 리ν©λλ€. λλΆμ΄ μ€λ¬΄μμ μ°μ΄λ λ€μν IPC λ°©μ (HTTP / Message Queue / WebSocket) κ°μ ꡬ.. Web Programming 2025. 5. 27. μ€λ¬΄μμ λ°μν IP μ€νΈν : X-Forwarded-For ν€λλ₯Ό μ΄μ©ν μ μμ μ κ·Ό π©κ°μ μ¬λ΄μμ μ μ± ν΄λΌμ΄μΈνΈμ μμ²μ μ°¨λ¨νκΈ° μν΄, IP μ°¨λ¨μ μ¬μ©ν©λλ€. νμ§λ§, μ°¨λ¨ν IPμ ν΄λΌμ΄μΈνΈκ° μ°¨λ¨λμ§ μκ³ κ³μν΄μ μ¬λ΄ μλ²μ μμ²μ 보λ΄λ λͺ¨μ΅μ΄ λͺ¨λν°λ§ λμ΅λλ€. μμ²μ μ²λ¦¬νλ λΉμ¦λμ€ λ‘μ§ μλ¨ λ―Έλ€μ¨μ΄μ UrlFilter κ° μμ§λ§, μ μμ μΌλ‘ μ μ± IPλ₯Ό κ±Έλ¬λ΄μ§ λͺ»ν΄ λ°μν λ¬Έμ μλλ°μ. μ΄λ¬ν λ¬Έμ κ° λ°μν μμΈκ³Ό λ¬Έμ μ ν΅μ¬ X-Forwarded-For ν€λμ λν΄ μ 리ν΄λ³΄κ² μ΅λλ€. π¦ΉβοΈμ€νΈνμ΄λ μ€νΈν(Spoofing)μ μμ΄κΈ°(spoof)λΌλ λ¨μ΄μμ λμ¨ λ§λ‘, μ»΄ν¨ν° 보μμμ ‘μμ μ μ μμ μμ΄κ±°λ μμ‘°νμ¬ μλλ°©μ μμ΄λ νμ’λ₯Ό λ»ν©λλ€. μ¦, “μ λ’°λ°λ λμμΈ μ² μμ₯ν΄μ μ κ·Όνκ±°λ, λ°μ΄ν°λ₯Ό μ‘°μνλ νμ” λ‘μ “λ μ¬μ€ μλ²μΌ.. Web Programming 2025. 1. 27. μνμΉ vs μμ§μμ€ κ°μ리λ²μ€ νλ‘μ μλ²λ₯Ό ꡬμΆνλ©΄μ λ리 μ°μ΄λ μΉμλ²λ‘ Apache HTTP Server, Nginx κ° λ리 μ°μ΄μ§λ§, νλμ μμλ Nginx μ μμ₯ μ μ μ¨μ΄ Apache HTTP Server λ₯Ό λ°μ΄ λμ΄μ μμ₯ μ μ μ¨μ΄ λ λμ Nginx λ₯Ό μ¬μ©νλ€. Nginx λ μ΄λ»κ² Apache HTTP Server μ μ μ μ¨μ λ°μ΄ λκ² λκ³ , λμ μ°¨μ΄μ μ 무μμΌκΉ νμ΅ν΄ 보μλ€. Apache HTTP Server Apache HTTP Server(μ΄ν μνμΉ μλ²)λ 1995λ λ§λ€μ΄μ‘λλ°, μνμΉ μλ²μ λ΄λΆ λμμ 보면 μμ²μ΄ λ€μ΄ μ€λ©΄ 컀λ₯μ μ νμ±νκΈ° μν΄ νλ‘μΈμ€λ₯Ό μλ‘ μμ±νλ€.νλ‘μΈμ€μ μμ±νλ κ²μ΄ μκ°μ΄ λ§μ΄ 걸리λ μμ μ΄λ μμ²μ΄ λ€μ΄μ€κΈ° μ μ νλ‘μΈμ€λ₯Ό 미리 λ§λ€μ΄ λλ pre.. Web Programming 2024. 3. 29. NGINX 리λ²μ€ νλ‘μ μλ² μ€μ νΈλ¬λΈ μν κ°μμμ νλ‘μ νΈμ²λΌ, μ΄λ² νλ‘μ νΈμμλ νλ‘ νΈμλ νμ΄ Vercel μ λ°°ν¬λ₯Ό νμμ΅λλ€. λ°°ν¬λ Vercel νμ΄μ§μμλ HTTPS ν΅μ μ μ¬μ©ν΄μΌ νκ³ , μμ²μ 보μ μ²λ¦¬ ν΄μ€μΌ νκΈ° λλ¬Έμ, HTTPS ν΅μ μΌλ‘ API μμ²μ λ°μ μ μμ΄μΌ νμ΅λλ€.λ°±μλ API μλ²μ μ§μ HTTPS ν΅μ μ κ΄ν μ€μ ν μ μμ§λ§, κ·Έλ κ² νμ§ μκ³ SSL Termination μ΄λΌλ λ°©μμ μ¬μ©νμ΅λλ€. μ€νλ‘λ©(Offloading)μ μμ€ν μ νΉμ μμ μ΄λ μ²λ¦¬λ₯Ό λ€λ₯Έ μμ€ν , μ₯μΉ λλ νλ‘μΈμ€λ‘ μ΄μ νμ¬ λ©μΈ μμ€ν μ λΆνλ₯Ό μ€μ΄κ³ μ±λ₯μ ν₯μμν€λ κΈ°μ μ λλ€. λ°±μλ μλ²μ 곡ν΅λ μλ¨μ ν κ³³μμ SSL κ΄λ ¨ μ²λ¦¬λ₯Ό λͺ¨λ μ§ννλ κ²μ λλ€. SSL Terminationμ SSL Offloading.. Web Programming 2024. 2. 27. SSL Termination μ μν΄ NginX λ‘ λ¦¬λ²μ€ νλ‘μ μλ² κ΅¬μΆνκΈ° κ°μμμ νλ‘μ νΈμμ Active Mixed Content μλ¬λ₯Ό ν΄κ²°νκΈ° μν΄μ λ°±μλ μλ²μ HTTPS ν΅μ μ΄ κ°λ₯ν΄μΌ νμ΅λλ€. μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ SSL Termination λ°©μμ μ¬μ©νμκ³ , SSL Termination μ²λ¦¬νλ λ°©λ²μΌλ‘λ 2κ°μ§κ° λνμ μ΄λΌλ κ±Έ λ§μλλ Έμ΅λλ€. κ·Έμ€ μ νλ‘μ νΈμμλ λ‘λλ°Έλ°μλ₯Ό νμ©νμ¬ μ΄λ₯Ό ν΄κ²°νμ΅λλ€. 1. 리λ²μ€ νλ‘μ μλ² νμ© : μνμΉ νΉμ NGINX λ₯Ό ꡬλμμΌ λ¦¬λ²μ€ νλ‘μ μλ²λ₯Ό λ§λ€μ΄ λ°±μλ μλ²μ μμ²μ΄ μ€λ©΄ λ¨Όμ 리λ²μ€ νλ‘μ μλ²μμ μ²λ¦¬νκ² λλ€. 리λ²μ€ νλ‘μ μλ²μλ Let's Encrypt κ°μ TLS/SSL μΈμ¦μλ₯Ό μ½κ² κ°μ Έμ€κ³ μ€μΉν μ μλ CA(μΈμ¦ κΈ°κ΄)μμ μ 곡νλ μΈμ¦μλ₯Ό μ€μ νμ¬ SSL Terminationμ.. Web Programming 2024. 2. 20. CORS μλ¬ κ°λ κ³Ό ν΄κ²°λ² (Spring MVC, Spring Security) μ΄μ¬ν λ§λ νλ‘μ νΈλ₯Ό EC2μ λμ μλ²λ₯Ό νμ±ν μν€κ³ νλ‘ νΈ μλμ λ‘컬μμ ν μ€νΈλ₯Ό ν΄λ³΄λ € νλλ°, λ μ©?! νμ΄μ§μ λ°μ΄ν°λ 보μ΄μ§ μκ³ , κ°λ°μ λꡬλ₯Ό μΌλ©΄ λΉ¨κ° μλ¬λ€λ§ κ°λνμ΅λλ€. NBAμ 첫 λ°κΈΈμ λ΄λλ μ μΈ μ μλ₯Ό νμν΄μ£Όλ©° λμ κ°κ³ μμ ν¬λ₯Ό μ±κ³΅μν€λ©° "Welcome to NBA"λ₯Ό μΈμΉλ λ§μ΄ν΄ μ‘°λ λ§λ₯, CORS μλ¬λ μΉκ°λ°μ νλ κ°λ°μλ€μκ² μΉκ°λ° μΈκ³λ₯Ό νμν΄μ£Όλ©° κ²ͺκ²λλ ν΅κ³Όμλ‘ κ°μ λ μμ λλ€.νλ‘μ νΈλλ CORSμλ¬λ‘ μμ² κ³ μμ νμ¬ κΉλ¨Ήμ§ μκ² κ³΅λΆμ κΈ°λ‘μ νλ €ν©λλ€. π€ CORS λ?CORS λ Cross-Origin Resource Sharing μ΄λΌλ λ»μ λλ€. μ΄ λ¬Έμ₯μ μ§μνλ©΄ "κ΅μ°¨ μΆμ² 리μμ€ κ³΅μ μ μ± "μ΄λΌκ³ ν΄μν μ μλλ°, μ¬κΈ°μ.. Web Programming 2023. 12. 20. Web programming : RESTful URL μ€κ³ κ·μΉ URI(Uniform Resource Identifier)μ URL(Uniform Resource Locator) URIλ λ€νΈμν¬ μμ μλ νΉμ 리μμ€λ₯Ό μλ³νλ ν΅ν© μμ μλ³μ(Uniform Resource Identifier)λ₯Ό μλ―Ένλ€. URLμ μΈν°λ·μ μλ 리μμ€λ₯Ό λνλ΄λ ν΅ν© 리μμ€ μλ³μλ₯Ό μλ―Ένλ©°, μ°λ¦¬κ° ννλ€ μ΄μΌκΈ°νλ μΉ μμ μ£Όμλ₯Ό μλ―Ένλ€. URIλ URLμ μμ κ°λ μΌλ‘ λ³Ό μ μλ€. URIλ 리μμ€λ₯Ό μλ³νλ μλ³μ μν μ νκ³ , URLμ μλ³μ μν μ€μμλ 리μμ€μ μμΉλ₯Ό κ°λ¦¬ν¨λ€. μ) http://www.restapi.example.com/member/1 λ 리μμ€μ μμΉλ₯Ό κ°λ¦¬ν€λ URLμ΄λΌκ³ ν μ μλ€. μ) URI μ μμλ‘λ λμλ₯Ό μλ³νλ κ΅μ νμ€λμλ²νΈ.. Web Programming 2023. 12. 13. Web programming : RESTful API λ RESTful APIλ 무μμΈκ°μ? RESTful APIλ λ μ»΄ν¨ν° μμ€ν μ΄ μΈν°λ·μ ν΅ν΄ μ 보λ₯Ό μμ νκ² κ΅ννκΈ° μν΄ μ¬μ©νλ μΈν°νμ΄μ€μ λλ€. λλΆλΆμ λΉμ¦λμ€ μ ν리μΌμ΄μ μ λ€μν νμ€ν¬λ₯Ό μννκΈ° μν΄ λ€λ₯Έ λ΄λΆ μ ν리μΌμ΄μ λ° μλ νν° μ ν리μΌμ΄μ κ³Ό ν΅μ ν΄μΌ ν©λλ€. μλ₯Ό λ€μ΄ μκ° κΈμ¬ λͺ μΈμλ₯Ό μμ±νλ €λ©΄ μΈλ³΄μ΄μ€ λ°νμ μλννκ³ λ΄λΆμ 근무 μκ° κΈ°λ‘ μ ν리μΌμ΄μ κ³Ό ν΅μ νκΈ° μν΄ λ΄λΆ κ³μ μμ€ν μ΄ λ°μ΄ν°λ₯Ό κ³ κ°μ λ± νΉ μμ€ν κ³Ό 곡μ ν΄μΌ ν©λλ€. RESTful APIλ μμ νκ³ μ λ’°ν μ μμΌλ©° ν¨μ¨μ μΈ μννΈμ¨μ΄ ν΅μ νμ€μ λ°λ₯΄λ―λ‘ μ΄λ¬ν μ 보 κ΅νμ μ§μν©λλ€. μΆμ² : https://aws.amazon.com/ko/what-is/restful-api/ RESTμ ꡬμ±μμ β R.. Web Programming 2023. 12. 12. WAS (Web Application Server)μ WS (Web Server)μ μ°¨μ΄ WAS(Web Application Server)μ WS (Web Server)λ μΉ μ ν리μΌμ΄μ μ μ 곡νλ λ° μ¬μ©λλ λ κ°μ§ μ£Όμ μ»΄ν¬λνΈλ€. μ΄ λμ κΈ°λ₯κ³Ό μν μ΄ λ€λ₯΄λ©°, μ’ μ’ μλ‘ λ³΄μμ μΌλ‘ μ¬μ©λλ€.Web Server (WS)μ μμΉ μλ²λ μ μ μΈ μ½ν μΈ (HTML, CSS, JavaScript, μ΄λ―Έμ§ λ±)λ₯Ό ν΄λΌμ΄μΈνΈ(λΈλΌμ°μ )μ μ 곡νλ μλ²λ€. HTTP μμ²μ μ²λ¦¬νκ³ μ μ νμΌμ λ°ννλ μν μ μ£Όλ‘ μννλ€.μ£Όμ κΈ°λ₯μ μ μ½ν μΈ μ 곡 : HTML, CSS, JavaScript, μ΄λ―Έμ§ νμΌ λ±κ³Ό κ°μ μ μ νμΌμ ν΄λΌμ΄μΈνΈμ μ 곡.HTTP μμ² μ²λ¦¬ : HTTP/HTTPS νλ‘ν μ½μ ν΅ν΄ ν΄λΌμ΄μΈνΈμ μμ²μ λ°μμ μλ΅.λΆν λΆμ° : μ¬λ¬ μλ²μ μμ²μ λΆμ°μμΌ μλ²μ λΆνλ₯Ό μ€μ.S.. Web Programming 2023. 10. 24. μ΄μ 1 2 3 λ€μ