Search
🌐

μ›Ήμ˜ λ™μž‘

μ›Ήμ˜ λ™μž‘μ„ μ•Œμ•„μ•Ό ν•˜λŠ” 이유

λ¬Έμ„œμΈ μ›ΉνŽ˜μ΄μ§€λ₯Ό μ›Ήμ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œ λ§Œλ“€κ³  μ‹Άλ‹€λ©΄ μ„œλ²„μ— λ‹€μ–‘ν•œ μš”μ²­μ„ ν•˜κ³ , 받은 응닡 λ©”μ‹œμ§€λ₯Ό ν•΄μ„ν•˜κ³  μ‹Άλ‹€λ©΄ λ„€νŠΈμ›Œν¬μ—μ„œ μΌμ–΄λ‚œ μ—λŸ¬λ₯Ό μ•Œκ³  문제λ₯Ό ν•΄κ²°ν•˜κ³  μ‹Άλ‹€λ©΄

이 λ¬Έμ„œλ₯Ό 보고 λ‚˜λ©΄

HTTPλΌλŠ” 약속과 μƒνƒœ μ½”λ“œλ₯Ό μ•Œ 수 μžˆλ‹€.

1. μ›Ή μ„œλ²„μ™€ μ›Ή ν΄λΌμ΄μ–ΈνŠΈ

μš°λ¦¬λŠ” λ‹€μ–‘ν•œ 기기에 ν¬ν•¨λœ λΈŒλΌμš°μ €λ₯Ό 톡해 μ‰½κ²Œ 웹을 κ²½ν—˜ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬κ°€ μž…λ ₯ν•œ ν–‰μœ„λ“€μ€ μ–΄λ–»κ²Œ μš”μ²­μ„ 보내고 화면에 좜λ ₯λ κΉŒμš”? ν˜„μž¬μ˜ 컴퓨터 μ‹œμŠ€ν…œμ—λŠ” ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ λͺ¨λΈμ˜ ν˜•νƒœκ°€ 널리 μ‚¬μš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„λŠ” 각각 client와 serverλΌλŠ” 의미의 μ˜μ–΄κ°€ μ–΄μ›μž…λ‹ˆλ‹€. 즉 clientκ°€ μš”μ²­(request)ν•˜λ©΄ serverκ°€ 응닡(response)ν•΄μ£ΌλŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€. μ›Ήμ„œλ²„λŠ” λ„€νŠΈμ›Œν¬μƒμ— κ³΅κ°œν•˜λŠ” ν•˜μ΄νΌν…μŠ€νŠΈ(HTML ν˜•μ‹μ˜ 파일)λ₯Ό μŒ“κ³ , μ›Ή ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­ν•˜λŠ” HTML νŒŒμΌμ„ κ±΄λ„€μ£ΌλŠ” ꡬ쑰둜 λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€.

μ™œ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„λ‘œ λ‚˜λ‰˜λŠ” κ²ƒμΌκΉŒ?

μ›Ήμ—μ„œ λ‹€μ–‘ν•œ μ½˜ν…μΈ λ₯Ό λΆˆνŠΉμ • λ‹€μˆ˜μ˜ μ‚¬λžŒμ—κ²Œ κ³΅κ°œν•˜λ €λ©΄ μ½˜ν…μΈ λ₯Ό 적절히 μ •λ¦¬ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 것이 맀우 μ€‘μš”ν•©λ‹ˆλ‹€. 그런데 이 μ½˜ν…μΈ λ“€μ΄ μ—¬λŸ¬ 곳에 뢄산돼 있으면 μ–΄λ–€ λ¬Έμ œκ°€ λ°œμƒν• κΉŒμš”? 웹에 μ‘΄μž¬ν•˜λŠ” λŒ€λΆ€λΆ„μ˜ μ½˜ν…μΈ λŠ” μ—…λ°μ΄νŠΈκ°€ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€. 그런데 μ—¬λŸ¬κ³³μ— 뢄산돼 있으면 어디에 μ €μž₯λ˜μ–΄μžˆλŠ”μ§€ νŒŒμ•…ν•˜κ³  λ™μ‹œμ— κ°±μ‹ ν•˜λŠ” 것이 맀우 μ–΄λ ΅κ³  λΉ„μš©μ΄ 많이 λ“œλŠ” μž‘μ—…μ΄ λ©λ‹ˆλ‹€. 즉 μ›Ή μ„œλ²„μ™€ 같이 컴퓨터 ν•˜λ‚˜μ— 정보λ₯Ό λͺ¨μ•„ λ‘λŠ” 편이 관리가 μˆ˜μ›”ν•©λ‹ˆλ‹€.
λ˜ν•œ 웹은 λΆˆνŠΉμ • λ‹€μˆ˜μ˜ μ‚¬λžŒμ΄ μ½˜ν…μΈ λ₯Ό 자유둭게 μ—΄λžŒν•  수 μžˆμ–΄μ•Ό ν•˜λŠ”λ°, μ‚¬μš©μžκ°€ μ½˜ν…μΈ λ₯Ό μ—΄λžŒν•˜κΈ° μœ„ν•΄ κ·Έ μ½˜ν…μΈ λ₯Ό λ³΄κ΄€ν•˜κ³  μ²˜λ¦¬ν•˜λŠ” μ›Ή μ„œλ²„λ₯Ό 직접 μ‘°μž‘ν•˜λŠ” 것은 λΉ„ν˜„μ‹€μ μΈ μΌμž…λ‹ˆλ‹€. κ·Έλž˜μ„œ μ‚¬μš©μž μ•žμ— μžˆλŠ” PCλ₯Ό μ›Ή ν΄λΌμ΄μ–ΈνŠΈλ‘œ, μ½˜ν…μΈ  μžμ›μ„ κ΄€λ¦¬ν•˜κ³  μ²˜λ¦¬ν•˜λŠ” 컴퓨터λ₯Ό μ›Ήμ„œλ²„λ‘œ λ§Œλ“€μ–΄ μΈν„°λ„·μœΌλ‘œ μ—°κ²°ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

κ·Έ λ¦¬μ†ŒμŠ€(html νŒŒμΌμ€) μ–΄λ””μ„œ μ°Ύμ•„μ„œ μ£ΌλŠ” κ²ƒμΌκΉŒ? - URL

ν΄λΌμ΄μ–ΈνŠΈ(μœ μ €)λŠ” "μ–΄λ”” 어디에 μžˆλŠ” 이 μ½˜ν…μΈ λ₯Ό 읽고 μ‹Άλ‹€."라고 지정할 방법이 ν•„μš”ν•©λ‹ˆλ‹€. λ”°λΌμ„œΒ μΈν„°λ„·μƒμ˜ μ½˜ν…μΈ λ₯Ό κ³ μœ ν•˜κ²Œ μ§€μ •ν•˜κΈ° μœ„ν•œ ꡬ쑰가 URL(Uniform Resource Locator) 인 κ²ƒμž…λ‹ˆλ‹€. 즉 μœ μ €κ°€ μ›Ή λΈŒλΌμš°μ €λ‘œ νŠΉμ • μ‚¬μ΄νŠΈμ— 접속할 λ•Œ μ£Όμ†Œμ°½μ— μž…λ ₯ν•˜λŠ” λ¬Έμžμ—΄μ΄ λ°”λ‘œ URLμž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μœ μ €κ°€ μ€ν–‰μ—μ„œ λˆμ„ μ°ΎλŠ” 화면을 μ΄μš©ν•œλ‹€λ©΄ μ•„λž˜μ™€ 같은 λ°©μ‹μœΌλ‘œ μš”μ²­ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

2. HTTPλΌλŠ” 약속

μš°λ¦¬λŠ” URL을 μ΄μš©ν•¨μœΌλ‘œμ¨ 웹상에 곡개된 λ‹€μ–‘ν•œ μ½˜ν…μΈ λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ›Ήμ˜ κ΅¬ν˜„μ—λŠ” ν•œ 가지 더 λ„˜μ–΄μ•Ό ν•  산이 μžˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ ν•˜μ΄νΌν…μŠ€νŠΈλ₯Ό λΉ„λ‘―ν•œ μ½˜ν…μΈ λ₯Ό μ»΄ν“¨ν„°κ°€Β μ–΄λ–»κ²ŒΒ μ†‘μˆ˜μ‹ ν• μ§€μ— λŒ€ν•œ κ²ƒμž…λ‹ˆλ‹€. μΈν„°λ„·μ—λŠ” λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ 컴퓨터가 μ—°κ²°λΌμžˆλŠ”λ°, μ›Ή μ„œλ²„μ™€ μ›Ή ν΄λΌμ΄μ–ΈνŠΈκ°€ ν†΅μ‹ ν•˜λ €λ©΄ μ–΄λ–»κ²Œ 정보λ₯Ό 주고받을지에 λŒ€ν•œ 약속이 ν•„μš”ν•©λ‹ˆλ‹€. 이 약속을 톡신 ν”„λ‘œν† μ½œ(communication protocol) 이라고 ν•©λ‹ˆλ‹€. μ›Ήμ˜ μ°½μ‹œμž λ²„λ„ˆμŠ€ 리 λ°•μ‚¬λŠ” HTML 전솑에 μ ν•©ν•œ ν”„λ‘œν† μ½œμ„ μƒˆλ‘œ κ³ μ•ˆν–ˆμŠ΅λ‹ˆλ‹€. 이것이 ν˜„μž¬λ„ 널리 μ‚¬μš©λ˜κ³  μžˆλŠ”Β HTTP (HyperText Transfer Protocol)Β (opens new window)μž…λ‹ˆλ‹€. HTTPλŠ” λ‹€λ₯Έ ν”„λ‘œν† μ½œμ— λΉ„ν•΄ 맀우 λ‹¨μˆœν•΄μ„œ κ°„λ‹¨νžˆ κ΅¬ν˜„ν•  수 μžˆμ–΄ μ‰½κ²Œ 널리 μ΄μš©λμŠ΅λ‹ˆλ‹€.

2-1. HTTP 약속 μ•ŒκΈ°

1) URL(Uniform Resource Location)

β€’
URI(Uniform Resource Identifier)라고도 함.
β€’
URIκ°€ URL보닀 더 μƒμœ„ κ°œλ…μ΄μ§€λ§Œ ν˜„μž¬ ν˜Όμš©ν•΄μ„œ μ‚¬μš©ν•˜κ³  있음. 같은 κ²ƒμœΌλ‘œ 이해해도 무방함
β€’
URL은 μŠ€ν‚΄(scheme), 호슀트λͺ…, 경둜λͺ…μœΌλ‘œ κ΅¬μ„±λœλ‹€. μœ„ μ˜ˆμ—μ„œ μŠ€ν‚΄μ€ http, 호슀트λͺ…은 wooteco.com, 경둜λͺ…은 webcontents/index.html이 λœλ‹€.

a) μŠ€ν‚΄(scheme)

μŠ€ν‚΄μ€ λ¦¬μ†ŒμŠ€λ₯Ό νšλ“ν•˜κΈ° μœ„ν•œ 방법을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œλŠ” λŒ€λΆ€λΆ„μ˜ 경우 HTTP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•©λ‹ˆλ‹€. HTTP 이외에 λ‹€μŒκ³Ό 같은 ν”„λ‘œν† μ½œλ“€μ΄ μžˆμŠ΅λ‹ˆλ‹€.
β€’
https: μ•”ν˜Έν™”λœ http 톡신을 λ‚˜νƒ€λ‚΄λŠ” μŠ€ν‚΄
β€’
mailto: μ΄λ©”μΌμ˜ μˆ˜μ·¨μΈμ„ λ‚˜νƒ€λ‚΄λŠ” μŠ€ν‚΄
β€’
ftp: FTP ν”„λ‘œν† μ½œμ„ ν†΅ν•œ 파일 νšλ“μ„ λ‚˜νƒ€λ‚΄λŠ” μŠ€ν‚΄
β€’
file: 파일 μ‹œμŠ€ν…œ μ†μ˜ νŒŒμΌμ΄λ‚˜ 디렉터리λ₯Ό μ°Έμ‘°ν•˜κΈ° μœ„ν•œ μŠ€ν‚΄

b) 호슀트λͺ…

λ¦¬μ†ŒμŠ€κ°€ μ‘΄μž¬ν•˜λŠ” 호슀트(컴퓨터)의 이름을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 인터넷을 λΉ„λ‘―ν•œ 컴퓨터 λ„€νŠΈμ›Œν¬μ˜ μ„Έκ³„μ—μ„œ λ„€νŠΈμ›Œν¬μ— μ ‘μ†λ˜μ–΄ λ‹€λ₯Έ μ»΄ν“¨ν„°λ‘œλΆ€ν„° μš”κ΅¬λ₯Ό λ°›κ³  μ²˜λ¦¬ν•œ κ²°κ³Όλ₯Ό λ˜λŒλ €μ£ΌλŠ” 컴퓨터λ₯Ό 일반적으둜 호슀트 컴퓨터라고 ν•©λ‹ˆλ‹€. 호슀트λͺ…은 호슀트 μ»΄ν“¨ν„°μ˜ 이름을 κ°€λ¦¬ν‚΅λ‹ˆλ‹€.

c) 경둜λͺ…

호슀트λͺ…μ—μ„œ μ§€μ •λœ μ»΄ν“¨ν„°μƒμ˜ λ¦¬μ†ŒμŠ€ μœ„μΉ˜λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
www.wootecto.com/webcontents/index.html
μœ„ κ²½λ‘œμ—μ„œλŠ” webcontents ν•˜μœ„μ— μžˆλŠ” index.htmlμ΄λΌλŠ” νŒŒμΌμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 이처럼 URL을 μ΄μš©ν•˜μ—¬ 도메인 -> 컴퓨터 -> 디렉터리 -> 파일λͺ…κ³Ό 같이 κ³„μΈ΅μ μœΌλ‘œ λ¦¬μ†ŒμŠ€μ˜ μœ„μΉ˜λ₯Ό 지정할 수 μžˆμ–΄ μΈν„°λ„·μƒμ—μ„œ λ¦¬μ†ŒμŠ€μ˜ μœ„μΉ˜λ₯Ό λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

2) HTTP Request Line

a) λ©”μ„œλ“œ(scheme)

μš”μ²­μ˜ μ’…λ₯˜λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ” GET, 즉 β€˜URIβ€™μ—μ„œ μ§€μ •ν•œ 정보λ₯Ό 보내 μ£Όμ„Έμš”β€™λΌλŠ” μ˜λ―Έκ°€ λ©λ‹ˆλ‹€. λ©”μ„œλ“œμ—λŠ” κ·Έ 밖에도 λͺ‡ 가지가 μ •μ˜λΌ μžˆλŠ”λ°, μ›Ή λΈŒλΌμš°μ €μ—μ„œ μ›Ή μ„œλ²„λ‘œ μ†‘μ‹ λ˜λŠ” μš”μ²­μ˜ λŒ€λΆ€λΆ„μ€ GET λ©”μ„œλ“œμ— λ”°λ₯Έ μš”μ²­μž…λ‹ˆλ‹€.

b) URI(Uniform Resource Identifier)

GETλ©”μ„œλ“œλŠ” λ‹¨μˆœνžˆ β€˜μ •λ³΄λ₯Ό μ£Όμ„Έμš”β€™λΌλŠ” μ˜λ―Έμ— λΆˆκ³Όν•˜λ©°, URIλŠ” '무엇을 μ›ν•˜λŠ”κ°€β€™λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 일단은 URLκ³Ό URIλŠ” 거의 같은 κ²ƒμœΌλ‘œ 생각해도 λ¬΄λ°©ν•©λ‹ˆλ‹€.

c) HTTP 버전

버전에 따라 μ΄μš©ν•  수 μžˆλŠ” λ©”μ„œλ“œμ˜ μ’…λ₯˜μ™€ μš”μ²­ ν—€λ”μ˜ μ’…λ₯˜κ°€ λ‹¬λΌμ§€λ―€λ‘œ μ–΄λ–€ 버전에 λ”°λ₯Έ μš”μ²­μΈμ§€ μ €μž₯ν•œ κ²ƒμž…λ‹ˆλ‹€. λ‘λ²ˆ μ§Έ 쀄 μ΄ν›„μ˜ λ‚˜λ¨Έμ§€ 뢀뢄은 λ©”μ‹œμ§€ 헀더라고 ν•˜λ©°, μš”μ²­μ˜ 뢀가적인 정보λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€

d) Accept

μ›Ή ν΄λΌμ΄μ–ΈνŠΈκ°€ 받을 수 μžˆλŠ” λ°μ΄ν„°μ˜ μ’…λ₯˜λ₯Ό ν‘œμ‹œν•œ κ²ƒμž…λ‹ˆλ‹€. λ°μ΄ν„°μ˜ μ’…λ₯˜λŠ” Content-Typeμ΄λΌλŠ” ν˜•μ‹μœΌλ‘œ ν‘œμ‹œλ˜λ©°, ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ 받을 수 μžˆλŠ” Content-Type을 콀마둜 κ΅¬λΆ„ν•΄μ„œ μ§€μ •ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ 정보λ₯Ό ν‘œν˜„ν•¨μœΌλ‘œμ¨ Aceept ν•„λ“œλ₯Ό μ°Έμ‘°ν•˜λ©΄ μ›Ή μ„œλ²„λŠ” λΆˆν•„μš”ν•œ 정보λ₯Ό μ†‘μ‹ ν•˜μ§€ μ•Šμ•„λ„ 될 κ°€λŠ₯성이 μžˆλŠ” κ²ƒμž…λ‹ˆλ‹€.

e) Accept-Language

μ›Ή ν΄λΌμ΄μ–ΈνŠΈκ°€ 받을 수 μžˆλŠ” μžμ—° μ–Έμ–΄μ˜ μ’…λ₯˜λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μžμ—° μ–Έμ–΄λŠ” μ‚¬λžŒμ΄ μ‚¬μš©ν•˜λŠ” μ–Έμ–΄λ₯Ό κ°€λ¦¬ν‚΅λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ” β€˜en-usβ€™λ‘œ λ˜μ–΄ 있음으둜 μ˜μ–΄λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

f) User-Agent

이용 쀑인 μ›Ή λΈŒλΌμš°μ €μ˜ μ’…λ₯˜μ™€ 버전을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€

g) Host

μš”μ²­μ„ 보낸 곳의 호슀트λͺ…κ³Ό 포트번호λ₯Ό μ§€μ •ν•œλ‹€.

3) HTTP response

#a) μƒνƒœλΌμΈ

HTTP μš”μ²­κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ HTTP μ‘λ‹΅μ—μ„œλ„ 첫 번째 쀄이 κ°€μž₯ μ€‘μš”ν•˜λ©°, 이것을 μƒνƒœ 라인이라고 ν•©λ‹ˆλ‹€. HTTP μƒνƒœ 라인도 ꡬ성은 κ°„λ‹¨ν•©λ‹ˆλ‹€. HTTP 버전과 μƒνƒœ μ½”λ“œ, 응닡 ꡬ문으둜 μ„Έ λΆ€λΆ„μœΌλ‘œ λ‚˜λ‰©λ‹ˆλ‹€
HTTP 버전은 μš”μ²­μ—μ„œμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ μ‚¬μš©ν•˜λŠ” ν”„λ‘œν† μ½œμ˜ 버전을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ€‘μš”ν•œ 것은 μƒνƒœ μ½”λ“œλ‘œ 이 뢀뢄을 보면 μš”μ²­μ΄ μ„±κ³΅ν–ˆλŠ”μ§€ μ‹€νŒ¨ν–ˆλŠ”μ§€ μ‰½κ²Œ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 200은 μš”μ²­μ΄ 성곡해 정상적인 응닡이 λŒμ•„μ™”μŒμ„ λ‚˜νƒ€λ‚΄λŠ” μƒνƒœ μ½”λ“œμž…λ‹ˆλ‹€.

λŒ€ν‘œμ μΈ HTTP status code

β€’
200Β - OK
β€’
201Β - Created
β€’
302Β - Found(HTTP 1.0)
β€’
304Β - Not Modified
β€’
401Β - Unauthorized
β€’
404Β - Not Found
β€’
500Β - Internal Server Error
β€’
503Β - Service Unavailable
β€’
status code λ‹¨μœ„λ³„ μ˜λ―ΈλŠ”?
β—¦
2XXΒ : 성곡. ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­ν•œ λ™μž‘μ„ μˆ˜μ‹ ν•˜μ—¬ μ΄ν•΄ν–ˆκ³  μŠΉλ‚™ν–ˆμœΌλ©° μ„±κ³΅μ μœΌλ‘œ 처리
β—¦
3XXΒ : λ¦¬λ‹€μ΄λ ‰μ…˜ μ™„λ£Œ. ν΄λΌμ΄μ–ΈνŠΈλŠ” μš”μ²­μ„ 마치기 μœ„ν•΄ μΆ”κ°€ λ™μž‘μ΄ ν•„μš”ν•¨.
β—¦
4XXΒ : μš”μ²­ 였λ₯˜. ν΄λΌμ΄μ–ΈνŠΈμ— 였λ₯˜κ°€ 있음
β—¦
5XXΒ : μ„œλ²„ 였λ₯˜. μ„œλ²„κ°€ μœ νš¨ν•œ μš”μ²­μ„ λͺ…λ°±ν•˜κ²Œ μˆ˜ν–‰ν•˜μ§€ λͺ»ν–ˆμŒ

b) λ©”μ‹œμ§€ 헀더

μƒνƒœ 라인에 μ΄μ–΄μ„œ λ‚˜μ˜€λŠ” 것이 λ©”μ‹œμ§€ ν—€λ”λ‘œ 두 번째 쀄뢀터 빈 μ€„κΉŒμ§€ κ³„μ†λ©λ‹ˆλ‹€. λ©”μ‹œμ§€ ν—€λ”λŠ” HTTP μš”μ²­μ˜ λ©”μ‹œμ§€ 헀더와 같은 ν˜•μ‹μœΌλ‘œ, 응닡에 κ΄€ν•œ 뢀가적인 정보가 λ“€μ–΄μžˆμŠ΅λ‹ˆλ‹€.

c) λ©”μ‹œμ§€ λ³Έλ¬Έ

μ›Ή λΈŒλΌμš°μ €λŠ” λ©”μ‹œμ§€ 본문에 μžˆλŠ” HTML을 해석해 화면에 ν‘œμ‹œν•©λ‹ˆλ‹€. HTML은 ν…μŠ€νŠΈ ν˜•μ‹μ΄λ―€λ‘œ μš°λ¦¬κ°€ 읽을 수 μžˆλŠ” ν˜•μ‹μœΌλ‘œ λ©”μ‹œμ§€ 본문에 μ €μž₯돼 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ GIFλ‚˜ JPEG ν˜•μ‹μ˜ 이미지 νŒŒμΌμ„ μš”μ²­ν–ˆμ„ κ²½μš°μ—λ„ λ§ˆμ°¬κ°€μ§€λ‘œ κ·Έ 데이터가 λ©”μ‹œμ§€ 본문에 λ“€μ–΄κ°‘λ‹ˆλ‹€.

4) HTTP method

주둜 많이 μ‚¬μš©ν•˜λŠ” λ©”μ†Œλ“œλŠ”Β GETκ³ΌΒ POSTμž…λ‹ˆλ‹€.
GET은 Select 적인 μ„±ν–₯을 가지고 μžˆμŠ΅λ‹ˆλ‹€. GET은 μ„œλ²„μ—μ„œ μ–΄λ–€ 데이터λ₯Ό κ°€μ Έμ™€μ„œ λ³΄μ—¬μ€€λ‹€κ±°λ‚˜ ν•˜λŠ” μš©λ„μ΄μ§€ μ„œλ²„μ˜ κ°’μ΄λ‚˜ μƒνƒœ 등을 바꾸지 μ•ŠμŠ΅λ‹ˆλ‹€. κ²Œμ‹œνŒμ˜ λ¦¬μŠ€νŠΈλΌλ˜μ§€ κΈ€ 보기 κΈ°λŠ₯ 같은 것이 이에 ν•΄λ‹Ήν•©λ‹ˆλ‹€.
POSTλŠ” μ„œλ²„μ˜ κ°’μ΄λ‚˜ μƒνƒœλ₯Ό λ°”κΎΈκΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€. κΈ€μ“°κΈ°λ₯Ό ν•˜λ©΄ κΈ€μ˜ λ‚΄μš©μ΄ λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯이 되고 μˆ˜μ •μ„ ν•˜λ©΄ λ°μ΄ν„°λ² μ΄μŠ€κ°’μ΄ μˆ˜μ •μ΄ λ©λ‹ˆλ‹€. 이럴 κ²½μš°μ— POSTλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

정리

웹은 λΆˆνŠΉμ • λ‹€μˆ˜μ˜ μ‚¬λžŒλ“€μ΄ μ½˜ν…μΈ λ₯Ό 자유둭게, 효율적으둜 μ ‘κ·Όν•˜κΈ° μœ„ν•΄ μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈλ‘œ λ‚˜λ‰˜μ—ˆλ‹€. url은 μΈν„°λ„·μƒμ˜ μ½˜ν…μΈ λ₯Ό κ³ μœ ν•˜κ²Œ μ§€μ •ν•˜κΈ° μœ„ν•œ ꡬ쑰이닀. Β HTTPλŠ” μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈκ°€ 정보λ₯Ό μ£Όκ³ λ°›κΈ° μœ„ν•œ 약속인 톡신 ν”„λ‘œν† μ½œμ΄λ‹€. url은 λ¦¬μ†ŒμŠ€λ₯Ό μ–»κΈ° μœ„ν•œ λ°©λ²•μΈΒ μŠ€ν‚΄, λ¦¬μ†ŒμŠ€κ°€ μ‘΄μž¬ν•˜λŠ”Β ν˜ΈμŠ€νŠΈ(μ»΄ν“¨ν„°μ˜) 이름, 호슀트 λͺ…에 μ§€μ •λœ μ»΄ν“¨ν„°μƒμ˜ λ¦¬μ†ŒμŠ€ μœ„μΉ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ”Β κ²½λ‘œλͺ…μœΌλ‘œ κ΅¬μ„±λœλ‹€. HTTP RequestλŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— μ „λ‹¬ν•΄μ„œ μ„œλ²„μ˜ μ•‘μ…˜μ΄ μΌμ–΄λ‚˜κ²Œλ” ν•˜λŠ” λ©”μ‹œμ§€μ΄κ³  그에 λŒ€ν•œ 정보λ₯Ό λ‹΄κ³  μžˆλ‹€. HTTP ResponseλŠ” ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ— λŒ€ν•œ μ„œλ²„μ˜ 닡변이고 그에 λŒ€ν•œ 정보λ₯Ό λ‹΄κ³  μžˆλ‹€. HTTP MethodλŠ” ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ 사이에 μ΄λ£¨μ–΄μ§€λŠ” μš”μ²­(Request)κ³Ό 응닡(Response) 데이터λ₯Ό μ „μ†‘ν•˜λŠ” 방식이닀.

참고 링크