μμ²λ€μ΄μ€λ©΄ urlsκ° viewλ‘ λ³΄λ
viewsλ Templatesμ μλ .html νμΌμ λ λλ§
urlμ μ΄λ¦ λΆν μ μμ. κ²½λ‘ν·κ°λ¦¬μ§ μκ² name="new" μ΄λ°μ
form νκ·Έ ꡬ쑰
<form action="μλ² μ²λ¦¬ URL" method="μμ² λ°©μ">
<!-- νΌ μμλ€ -->
</form>
action: νΌ λ°μ΄ν°κ° μ μΆλ URLμ μ§μ ν©λλ€. (μλ²μ μλν¬μΈνΈ)
method: νΌ λ°μ΄ν°λ₯Ό μ μ‘ν λ°©λ²μ μ§μ ν©λλ€. (GET λλ POST)
actionλ€μ νΌ λ°μ΄ν°κ° μ μΆλ URLμ μ§μ
name μμ±μ κ°
<input>
νλμ λΆμ΄λ μ΄λ¦νμ κ°μμ, μλ²κ° μ΄λ€ λ°μ΄ν°κ° 무μμΈμ§ μλ³νκ³ μ²λ¦¬ν μ μκ² ν΄μ€λλ€.
λ°λ λ°μ΄ν°μ μμ±μ nameμ μ μ₯
nameμ΄ μμΌλ©΄?
νΌ λ°μ΄ν°μ ν¨κ» μ μ‘λμ§ μκΈ° λλ¬Έμ, μλ²λ μ΄ νλμ κ°μ λ°μ μ μμ΄μ.
κ°λ°μλ name μμ±μ νλμ λͺ©μ μ΄λ μλ―Έλ₯Ό μ λνλ΄λ μ΄λ¦μΌλ‘ μ€μ ν΄μΌ ν©λλ€.
name μμ±μ΄ μμΌλ©΄: ν΄λΉ μ
λ ₯ νλμ λ°μ΄ν°λ νΌμ΄ μ μΆλ λ μλ²λ‘ μ μ‘λμ§ μκΈ° λλ¬Έμ, μλ²λ κ·Έ λ°μ΄ν°λ₯Ό λ°μ μ μμ΅λλ€.
μμ λ‘μ΄ λ€μ΄λ°: name μμ± κ°μ κ°λ°μκ° μ μν μ μμΌλ©°, κ° νλμ λ°μ΄ν°κ° μλ―Έ μλ μ΄λ¦μΌλ‘ μλ³λ μ μλλ‘ μ€μ ν μ μμ΅λλ€.
νΌ μμμμ μνΈμμ©
id μμ±μ νΌμ λΌλ²¨κ³Ό μ λ ₯ νλλ₯Ό μ°κ²°ν λ μ μ©ν©λλ€. idκ° μμΌλ©΄ λΌλ²¨μ ν΄λ¦νμ λ μ λ ₯ νλκ° μλμΌλ‘ ν¬μ»€μ€λμ§ μμ΅λλ€.
<label for="username">μ¬μ©μ μ΄λ¦:</label>
<input type="text" id="username">μ½λλ₯Ό μ
λ ₯νμΈμ
html
μ½λ 볡μ¬
μ¬μ©μ μ΄λ¦:
μμ μμ μμ for="username"λ λΌλ²¨μ ν΄λ¦ν λ ν΄λΉ μ
λ ₯ νλμ ν¬μ»€μ€λ₯Ό λ§μΆ₯λλ€. idκ° μμΌλ©΄ μ΄ κΈ°λ₯μ΄ μλνμ§ μμ΅λλ€.
id μμ±μ μ¬μ©μ λν΄μλ λ κ°μ§ μ€μν κ·μΉμ΄ μμ΅λλ€:
κ° idλ λ¬Έμ λ΄μμ μ μΌν΄μΌ νλ€:
ν HTML λ¬Έμ λ΄μμ κ°μ id κ°μ κ°μ§ μμλ λ¨ νλλ§ μ‘΄μ¬ν΄μΌ ν©λλ€. μ¦, id κ°μ΄ μ€λ³΅λλ©΄ μ λ©λλ€. μ΄λ κ² ν΄μΌ λΈλΌμ°μ μ μλ²κ° μμλ₯Ό μ ννκ² μλ³νκ³ μ‘°μν μ μμ΅λλ€.
id μμ±μ κ°μ μ μΌν΄μΌ νμ§λ§, λ€λ₯Έ id κ°μ μ¬λ¬ κ° μμ μ μλ€:
λ¬Έμ λ΄μμ μ¬λ¬ κ°μ μμκ° μμ μ μμ§λ§, κ° μμμ λΆμ΄λ id κ°μ μλ‘ λ€λ₯΄κ² ν΄μΌ ν©λλ€. μλ₯Ό λ€μ΄, id="header"λ₯Ό κ°μ§ μμκ° λ κ° μ΄μ μμΌλ©΄ μ λ©λλ€.
"λ§ν¬μ "μ΄λΌλ λ¨μ΄λ "무μΈκ°λ₯Ό νμνκ±°λ κ°μ‘°νλ νμ"λ₯Ό μλ―Έν΄μ. μλ μ΄ λ¨μ΄λ μΆνμ΄λ μΈμ λΆμΌμμ μ¬μ©λλ μ©μ΄μΈλ°, μκ³ μ μμ μ¬νμ΄λ μ£Όμμ νμν λ μ¬μ©λμμ΄μ. μ¦, μ€μν λΆλΆμ "λ§ν¬(νμ)"ν΄μ λ€λ₯Έ μ¬λλ€μ΄ μ½κ² μ΄ν΄ν μ μλλ‘ λλ κ±°μ£ .
κ³Όμ μ°¨μ΄μ :
λ ν μ€μ ν
μ€νΈλ₯Ό μ
λ ₯λ°μ΅λλ€.
λ κΈ°λ³Έμ μΌλ‘ μ¬λ¬ μ€μ ν
μ€νΈλ₯Ό μ
λ ₯λ°μΌλ©°, rowsμ cols μμ±μ ν΅ν΄ ν¬κΈ°λ₯Ό μ‘°μ ν μ μμ΅λλ€.
<a> νκ·Έμ κΈ°λ³Έ ꡬ쑰
html
μ½λ 볡μ¬
<a href="URL">λ§ν¬ ν
μ€νΈ</a>
href μμ±: λ§ν¬κ° μ°κ²°λ λμ URLμ μ§μ ν©λλ€.
λ§ν¬ ν
μ€νΈ: μ¬μ©μκ° ν΄λ¦ν μ μλ λ§ν¬μ ν
μ€νΈμ
λλ€.
μΌλ°μ μΈ name μμ± κ° μμ
μ΄λ¦ μ λ ₯ νλ
html
μ½λ 볡μ¬
name="first_name": μ¬μ©μμ μ΄λ¦μ μ
λ ₯λ°λ νλ
name="last_name": μ¬μ©μμ μ±μ μ
λ ₯λ°λ νλ
μ΄λ©μΌ μ
λ ₯ νλ
html
μ½λ 볡μ¬
name="email": μ¬μ©μμ μ΄λ©μΌ μ£Όμλ₯Ό μ
λ ₯λ°λ νλ
λΉλ°λ²νΈ μ
λ ₯ νλ
html
μ½λ 볡μ¬
name="password": μ¬μ©μμ λΉλ°λ²νΈλ₯Ό μ
λ ₯λ°λ νλ
μ νλ²νΈ μ
λ ₯ νλ
html
μ½λ 볡μ¬
name="phone": μ¬μ©μμ μ νλ²νΈλ₯Ό μ
λ ₯λ°λ νλ
체ν¬λ°μ€
html
μ½λ 볡μ¬
λ΄μ€λ ν° κ΅¬λ
name="subscribe": ꡬλ
μ¬λΆλ₯Ό λνλ΄λ 체ν¬λ°μ€
λΌλμ€ λ²νΌ
html
μ½λ 볡μ¬
λ¨μ±
μ¬μ±
name="gender": μ¬μ©μμ μ±λ³μ μ ννλ λΌλμ€ λ²νΌ κ·Έλ£Ή
λλ‘λ€μ΄ 리μ€νΈ
html
μ½λ 볡μ¬
<option value="usa">λ―Έκ΅</option>
<option value="korea">νκ΅</option>
name="country": μ¬μ©μκ° μ νν κ΅κ°λ₯Ό μ μ‘νλ λλ‘λ€μ΄ 리μ€νΈ
λ μ§ μ
λ ₯ νλ
html
μ½λ 볡μ¬
name="birthdate": μ¬μ©μμ μμΌμ μ
λ ₯λ°λ νλ
λ§ν¬μ
μ μλ―Έ
Mark(νμνλ€) + Up(κ°μ‘°νλ€): μ΄λ€ λ΄μ©μ νμν΄μ κ°μ‘°νκ±°λ ꡬλ³νλ κ²μ μλ―Έν΄μ.
λ§ν¬μ
μΈμ΄μμμ "λ§ν¬μ
": λ¬Έμμ ν
μ€νΈμ νκ·Έλ₯Ό μ¬μ©ν΄ ꡬ쑰μ μλ―Έλ₯Ό νμνλ κ²μ λ»ν΄μ. μ΄λ₯Ό ν΅ν΄ μ»΄ν¨ν°λ μΉ λΈλΌμ°μ κ° λ¬Έμλ₯Ό ν΄μνκ³ , νλ©΄μ μ¬λ°λ₯΄κ² νμν μ μκ² λμμ€μ.
μμλ‘ μ΄ν΄νκΈ°
μΆνμμ "λ§ν¬μ
": μκ³ μ "μ΄ λΆλΆμ μ λͺ©μΌλ‘", "μ΄ λ¬Έμ₯μ κ΅΅κ²" λ±μ νμλ₯Ό νμ¬, μ΅μ’
μΈμλ¬Όμμ μ΄λ»κ² νμλ μ§ μ§μνλ μμ
μ΄μμ.
HTMLμμ "λ§ν¬μ
": ν
μ€νΈμ <h1>, <p>, <b> κ°μ νκ·Έλ₯Ό μ¬μ©ν΄
"μ΄κ²μ μ λͺ©μ
λλ€", "μ΄κ²μ λ¬Έλ¨μ
λλ€", "μ΄κ²μ κ΅΅μ ν
μ€νΈμ
λλ€"λΌκ³ νμνλ κ²κ³Ό κ°μμ.
μμ½
"λ§ν¬μ
"μ λ΄μ©μ νμνκ³ κ΅¬μ‘°ννλ κ²μ λ»ν΄μ.
λ§ν¬μ
μΈμ΄μμλ λ¬Έμλ ν
μ€νΈμ νκ·Έλ₯Ό μ¬μ©ν΄ νΉμ μλ―Έλ₯Ό λΆμ¬νκ³ ,
κ·Έ ꡬ쑰λ₯Ό μ μνλ κ²μ μλ―Έν΄μ.
HTMLμ΄ λνμ μΈ λ§ν¬μ
μΈμ΄λ‘,
μΉ νμ΄μ§μμ ν
μ€νΈμ μ΄λ―Έμ§λ₯Ό νμνλ λ°©μμ΄λ ꡬ쑰λ₯Ό μ μνλ λ° μ¬μ©λμ£ .
λμ λ§:
<> μ΄κ±°λ₯Ό νκ·ΈλΌκ³ ν΄? κ΄νΈ μλμΌ?
ChatGPTμ λ§:
μ’μ μ§λ¬Έμ΄μμ! <μ > μ΄ λ κΈ°νΈλ λͺ¨μλ§ λ³΄λ©΄ κΊΎμ κ΄νΈ(λλ κ°κ΄νΈ)λΌκ³ λΆλ¬μ. νμ§λ§ HTMLμμ μ΄ κΈ°νΈλ€μ νκ·Έλ₯Ό κ°μΈλ μν μ ν΄μ. κ·Έλμ μ°λ¦¬λ μ΄ κΈ°νΈλ‘ κ°μΈμ§ λ΄μ©μ νκ·ΈλΌκ³ λΆλ₯΄λ κ±°μμ.
μλ₯Ό λ€μ΄ λ³Όκ²μ:
<p>: μ¬κΈ°μ <p>λ νκ·Έμμ.
<μ > μ¬μ΄μ pλΌλ λ¬Έμκ° λ€μ΄κ° μμ£ .
μ΄ νκ·Έλ HTMLμμ "μ΄ ν
μ€νΈλ λ¬Έλ¨(paragraph)μ
λλ€"λΌκ³ νμνλ λ° μ¬μ©λΌμ.
λ¨Όμ , HTML λ¬Έμμ κ°μ₯ κΈ°λ³Έμ μΈ κ΅¬μ‘°λ₯Ό μ΄ν΄λ³Όκ²μ:
html
μ½λ 볡μ¬
<!DOCTYPE html>
<html>
<head>
<title>μΉ νμ΄μ§ μ λͺ©</title>
</head>
<body>
<h1>μλ
νμΈμ!</h1>
<p>μ΄κ²μ 첫 λ²μ§Έ λ¬Έλ¨μ
λλ€.</p>
</body>
</html>
κ° λΆλΆ μ€λͺ
<!DOCTYPE html>:
μ΄ μ μΈμ λ¬Έμκ° HTML5 νμ€μ λ°λ₯΄κ³ μλ€λ κ²μ μΉ λΈλΌμ°μ μ μλ €μ£Όλ μν μ ν΄μ. HTML λ¬Έμμ κ°μ₯ 첫 μ€μ μμΉν΄μ.
<html>:
μ΄ νκ·Έλ HTML λ¬Έμμ μμκ³Ό λμ λνλ΄μ. λͺ¨λ HTML μ½λλ <html> νκ·Έ μμ λ€μ΄κ°μ.
<head>:
μ΄ λΆλΆμλ μΉ νμ΄μ§μ λν λ©νλ°μ΄ν°(μ 보)λ₯Ό ν¬ν¨ν΄μ. μ¬κΈ°μλ νμ΄μ§ μ λͺ©, CSS μ€νμΌμνΈ, μλ°μ€ν¬λ¦½νΈ νμΌ λ±μ λ£μ μ μμ΄μ.
<title>:
μ΄ νκ·Έλ μΉ λΈλΌμ°μ μ νμ΄λ μ°½ μ λͺ©μΌλ‘ νμλλ λ΄μ©μ μ μν΄μ.
<body>:
μ΄ νκ·Έ μμ μ€μ λ‘ μΉ νμ΄μ§μ νμλ λ΄μ©μ΄ λ€μ΄κ°μ. μ¬κΈ°μλ ν
μ€νΈ, μ΄λ―Έμ§, λ§ν¬, λΉλμ€ λ± λ€μν μμλ€μ΄ ν¬ν¨λ μ μμ΄μ.
μμ£Ό μ¬μ©νλ HTML νκ·Έλ€
<h1> ~ <h6>:
μ λͺ©μ νμνλ νκ·Έμμ. <h1>μ΄ κ°μ₯ ν° μ λͺ©μ΄κ³ , <h6>μ΄ κ°μ₯ μμ μ λͺ©μ΄μμ.
μμ:
html
μ½λ 볡μ¬
<h1>ν° μ λͺ©</h1>
<h2>μ€κ° μ λͺ©</h2>
<h3>μμ μ λͺ©</h3>
<p>:
λ¬Έλ¨μ λνλ΄λ νκ·Έμμ. <p>λ‘ κ°μΌ λ΄μ©μ μΉ νμ΄μ§μμ νλμ λ¬Έλ¨μΌλ‘ νμλΌμ.
μμ:
html
μ½λ 볡μ¬
<p>μ΄κ²μ λ¬Έλ¨μ
λλ€.</p>
<a>:
λ§ν¬λ₯Ό λ§λλ νκ·Έμμ. href μμ±μ μ¬μ©ν΄ λ§ν¬ν μ£Όμλ₯Ό μ§μ ν μ μμ΄μ.
μμ:
html
μ½λ 볡μ¬
<a href="https://www.google.com">ꡬκΈλ‘ μ΄λ</a>
<img>:
μ΄λ―Έμ§λ₯Ό μ½μ
νλ νκ·Έμμ. src μμ±μΌλ‘ μ΄λ―Έμ§ νμΌμ μμΉλ₯Ό μ§μ ν΄μ.
μμ:
html
μ½λ 볡μ¬
<img src="image.jpg" alt="μ΄λ―Έμ§ μ€λͺ
">
<ul>, <ol>, <li>:
λͺ©λ‘μ λ§λλ νκ·Έλ€μ΄μμ. <ul>μ μμκ° μλ λͺ©λ‘(λΆλ¦Ών¬μΈνΈ), <ol>μ μμκ° μλ λͺ©λ‘(μ«μ), <li>λ λͺ©λ‘μ νλͺ©μ λνλ΄μ.
μμ:
html
μ½λ 볡μ¬
<ul>
<li>첫 λ²μ§Έ μμ΄ν
</li>
<li>λ λ²μ§Έ μμ΄ν
</li>
</ul>
<ol>
<li>첫 λ²μ§Έ μμ΄ν
</li>
<li>λ λ²μ§Έ μμ΄ν
</li>
</ol>
**<div>**μ <span>:
<div>λ λΈλ‘ λ 벨 μμλ‘, μ£Όλ‘ μΉμ
μ λλ λ μ¬μ©λΌμ. <span>μ μΈλΌμΈ μμλ‘, ν
μ€νΈμ μΌλΆλ₯Ό λ°λ‘ μ€νμΌλ§ν λ μ¬μ©λΌμ.
μμ:
html
μ½λ 볡μ¬
<div>
<h2>μΉμ
μ λͺ©</h2>
<p>μΉμ
λ΄μ©</p>
</div>
<p>μ΄κ²μ <span style="color: red;">λΉ¨κ°μ</span> ν
μ€νΈμ
λλ€.</p>
μμ½
HTML λ¬Έμλ νκ·Έλ€λ‘ ꡬμ±λμ΄ μκ³ , κ° νκ·Έλ <νκ·Έμ΄λ¦> ννλ‘ μμν΄μ.
HTMLμ κΈ°λ³Έ ꡬ쑰λ <html>, <head>, <body>λ‘ λλκ³ , λ΄μ©μ <body> μμ λ€μ΄κ°μ.
μμ£Ό μ¬μ©νλ νκ·Έλ€μ νμ©ν΄ ν
μ€νΈ, μ΄λ―Έμ§, λ§ν¬ λ±μ μΉ νμ΄μ§μ νμν μ μμ΄μ.
form νκ·Έμμ κ°μ₯ μ€μν κ²
inputμ name μμ±
λͺ¨λ html νμΌμ ν ν°μ΄ μμ΄?
ChatGPTμ λ§:
μλμ, λͺ¨λ HTML νμΌμ CSRF ν ν°μ΄ μλ κ²μ μλμμ. CSRF ν ν°μ νΉμ μν©μμλ§ νμν©λλ€. μ£Όλ‘ νΌ μ μΆμ΄λ μ¬μ©μμ μμ²μ΄ μλ²μ μ€μν μμ μ μμ²ν λ μ¬μ©λ©λλ€.
νΌ μ μΆ:
μ¬μ©μκ° μλ²λ‘ λ°μ΄ν°λ₯Ό μ μΆνλ νΌμλ CSRF ν ν°μ΄ ν¬ν¨λ©λλ€. μ΄ ν ν°μ μ¬μ©μμ μμ²μ΄ μ λ’°ν μ μλ κ²μμ 보μ₯νκΈ° μν΄ μ¬μ©λ©λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μ λ‘κ·ΈμΈ, λκΈ μμ±, κ²μλ¬Ό μμ± κ°μ νΌμλ CSRF ν ν°μ΄ νμν©λλ€.
crud μμ rλ§ μ μΈ
λ―Όκ°ν μμ²:
μΉ μ ν리μΌμ΄μ μ μ€μν μμ μ΄λ μνλ₯Ό λ³κ²½νλ μμ²(μ: λΉλ°λ²νΈ λ³κ²½, κ³μ μ€μ )μλ CSRF ν ν°μ ν¬ν¨μν΅λλ€.
κ·ΈλΌ κ°μ ν ν°μ μ£Όκ³ λ°λκ±°μΌ?
ChatGPTμ λ§:
ChatGPT
λ€, λ§μμ! κ°μ ν ν°μ μ£Όκ³ λ°λ κ² λ§μ΅λλ€. λ ꡬ체μ μΌλ‘ μ€λͺ
ν΄λ³Όκ²μ.
ν ν°μ νλ¦
μλ²κ° ν ν°μ μμ±:
μ¬μ©μκ° νΌμ μμ²ν λ, μλ²λ CSRF ν ν°μ μμ±ν©λλ€. μ΄ ν ν°μ λ§€μ° λλ€νκ³ κ³ μ ν λ¬Έμμ΄μ
λλ€.
μλ²κ° HTML νΌμ ν ν°μ ν¬ν¨:
μλ²λ μμ±λ ν ν°μ νΌ μμ μ¨κ²¨μ§ μ
λ ₯ νλλ‘ ν¬ν¨μμΌμ, μ¬μ©μμκ² λ³΄λ
λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μκ° HTML νΌμ λ°κ² λλ©΄, νΌ μμ μ²λΌ ν ν°μ΄ ν¬ν¨λμ΄ μμ΅λλ€.
μ¬μ©μκ° νΌμ μ μΆ:
μ¬μ©μκ° νΌμ μμ±νκ³ μ μΆνλ©΄, μ΄ ν ν°λ ν¨κ» μλ²λ‘ μ μ‘λ©λλ€.
μλ²λ μ¬μ©μκ° μ μΆν νΌμ λ°μ΄ν°λ₯Ό λ°μΌλ©΄μ, κ·Έ μμ ν¬ν¨λ ν ν°λ νμΈν©λλ€.
μλ²κ° ν ν°μ κ²μ¦:
μλ²λ μ²μμ λ³΄λΈ ν ν°κ³Ό, μ¬μ©μκ° μ μΆν ν ν°μ΄ μΌμΉνλμ§ νμΈν©λλ€.
ν ν°μ΄ μΌμΉνλ©΄, μ΄ μμ²μ΄ μ€μ λ‘ ν΄λΉ μ¬μ©μκ° ν κ²μ΄ λ§λ€κ³ νλ¨νκ³ μμ²μ μ²λ¦¬ν©λλ€.
λ§μ½ μΌμΉνμ§ μμΌλ©΄, μμ²μ΄ μμ¬μ€λ¬μ΄ κ²μΌλ‘ κ°μ£Όνκ³ μ²λ¦¬νμ§ μμ΅λλ€.
μμ½
μλ²κ° HTML νΌμ μμ±ν λ ν ν°μ ν¬ν¨μμΌ λ³΄λ΄κ³ , μ¬μ©μκ° νΌμ μ μΆν λ μ΄ κ°μ ν ν°μ λ€μ μλ²λ‘ 보λ
λλ€.
μλ²λ μ²μμ μμ±ν ν ν°κ³Ό μ μΆλ ν ν°μ΄ κ°μμ§ νμΈνμ¬, μμ²μ μμ μ±μ νλ¨ν©λλ€.
μ΄ κ³Όμ μ ν΅ν΄ CSRF 곡격μ λ°©μ§νκ³ , μ¬μ©μ μμ²μ΄ μ λ’°ν μ μλ κ²μμ 보μ₯νλ κ²μ
λλ€.