230214(ν)
π μ±μ₯μΌμ§ 3.1
μ±
ν볡ν μ΄κΈ°μ£Όμμ(μ¨μΈ λ€μ΄μ΄)
μ λ΄μ©μ μκ·Ήλ°μ μμνλ μλ°ν μ±μ₯κΈ°λ‘
μ΄μμλ κ½κ³Ό μ£½μ κ½μ μ΄λ»κ² ꡬλ³νλκ°?
μ±μ₯νκ³ μλ κ²μ΄ μ΄μ μλ κ²μ΄λ€.
μλͺ μ μ μΌν μ¦κ±°λ μ±μ₯μ΄λ€!
π³ ν€μλ (1.0)
μ΅λν κ°λ¨νκ² μ 리, μΆνμ 보면μ μ€μ€λ‘ μ€λͺ
π κ²½ν μμ£Όλ‘ (2.0)
λ¨μ μ 보λ₯Ό μ λ¬νκΈ°λ³΄λ€ λ¬΄μμ λ°°μ κ³ μ΄λ»κ² ν΄κ²°νλμ§ μ§§κ³ κ°λ¨νκ² μμ±
βοΈ μ ν΄μ§ ν νλ¦Ώμ λ§μΆ°μ (3.0)
ν€μλ, κ²½ν λͺ¨λ μ’λ€. λ€λ§ λ§€μΌ μμ±νκΈ°λ‘ λ§μ λ¨Ήμλ§νΌ ν΅μ¬λ§ κ°κ²°νκ² μ 리ν μ μκ² ν νλ¦Ώμ μμ± (3.1) 230102λΆν° μμλλ νμ΅μ κ΄ν λ΄μ© μΆκ°
π μ€λμ ν€μλ
μΊμ μ μ±
- λΈλΌμ°μ κ° μ΄λ»κ² μΊμλ₯Ό κ΄λ¦¬ν μ§ μ νλ κ²
- κΈ°λ³Έμ μΌλ‘ λ€νΈμν¬ μμμ 무μΈκ°λ₯Ό μμ²νκ³ μλ΅λ°λ κ²μ λλ¦¬κ³ ν° λΉμ©μ΄ λ λ€.
- λλ¬Έμ, λͺ¨λ λΈλΌμ°μ λ νλ² μλ΅λ°μ μ μ΄ μλ λ°μ΄ν°μ λν΄ μ μ₯ν΄λκ³ μ΄ν λμΌ ν λ°μ΄ν° νΈμΆ μ μμ²νμ§ μκ³ μΊμμμ κ°μ Έμ¨λ€.
- μ΄λ° μΊμμ μλͺ (μ μ§μκ°)μ κ²°μ νλ λ€μν λ°©λ²λ€μ΄ μ‘΄μ¬νλ€.
HTTP
- HyperText Transform Protocol; μ¦, HTMLμ κ΅ννκΈ° μν κ·μΉ(νμ€)
- μΉ μ΄μ°½κΈ°μλ κ°λ¨ν HTMLλ§μ μ λ¬νμ§λ§, μ΄μ λ μ¬μ€μ λ°μ΄νΈλ‘ ννλλ λͺ¨λ λ°μ΄ν°(html, css, js, μ΄λ―Έμ§ λ±λ±)μ μ λ¬ν μ μλ€.
- λ²μ μ 0.9 - 1.0 - 1.1 - 2.0 - 3.0 μμλ‘ λ°μ νμΌλ©°, μ¬μ€μ 1.1 λ²μ μ΄ μ μΌ μ€μνλ€.(κΈ°λ³Έμ μΈ μ€νλ€μ΄ λ§μ΄ κ°μΆ°μ‘λ€.)
- μ΄ν 2.0, 3.0μ μ±λ₯ κ°μ μ μ΄μ μ΄ λ§μΆ°μ Έμλ€.(λ¬Όλ‘ 3.0μ TCPκ° μλ UDP μμμ λμνλ€λ μ°¨λ³μ μ΄ μ‘΄μ¬νλ€.)
HTTPS
- Hypertext Transfer Protocol Secure; μ¦,
HTTP + κ°ν 보μ
μ΄λΌκ³ μκ°νλ©΄ λλ€.
β HTTPμμ HTTPSλ‘ Sκ° λΆλ κ³Όμ (ssl μΈμ¦μ λ°κΈμ μΌλ ¨ κ³Όμ )
- μΈν°λ· μμμ μΉ λΈλΌμ°μ (Client)μ μΉ μλ²(Server)κ°μ λ°μ΄ν°λ₯Ό μμ νκ² μ£Όκ³ λ°κΈ° μν΄μλ μλ‘ μνΈννμ¬ ν΅μ μ ν΄μΌνλ€.
SSL(Secure Socket Layer)
μ μΉ λΈλΌμ°μ μ μλ²κ° μνΈν ν΅μ μ μν νλ‘ν μ½μ΄λ©°, SSLμΈμ¦μλ SSL κΈ°λ°νμμ λΈλΌμ°μ μ μλ²κ° μνΈν ν΅μ μ κ°λ₯νκ² νλ μΈμ¦μ(μ 3μ μ λ’°κΈ°κ°μ΄ μΈμ¦ν)λ₯Ό μλ―Ένλ€.
SSLμΈμ¦μμ 3κ°μ§ κΈ°λ₯
- μ 보 μ μΆ λ°©μ§: νμ€ μνΈν κΈ°λ²μ ν΅ν΄ μ μ‘μμ μ 보λ₯Ό μμ νκ² μ μ‘
- κΈ°μ μ€μ²΄μ± νμΈ: μλ₯Ό λ€μ΄, μΏ ν‘μ μ£Όλ¬Έμ ν λ μΏ ν‘μ΄λΌλ κΈ°μ μ μ€μ²΄μ±(μ¬μ μ λ±λ‘κ³Ό κ°μ)μ νμΈ νμ μΏ ν‘μ SSL μΈμ¦μλ₯Ό λ°κΈ
- μμ‘°μ¬μ΄νΈ λ°©μ§: μ¬μ΄νΈμ μ§μ μ¬λΆλ₯Ό νλ¨
μνΈν
λΈλΌμ°μ κ° λ©μμ§λ₯Ό μνΈννμ¬ μλ²μ μ μ‘νλ©΄, μλ²λ μνΈνν€(λΉλ°ν€)λ‘ μνΈνλ λ©μμ§λ₯Ό ν΄λ
(볡νΈν)νλ κ³Όμ μ΄ μ΄λ€μ§λ€.
- λμΉν€ μνΈν: λ©μμ§λ₯Ό μνΈνν λ μ¬μ©νλ λΉλ°ν€μ λ©μμ§λ₯Ό 볡νΈνν λ μ¬μ©νλ λΉλ°ν€κ° κ°μ κ²½μ°
μ΄ λ, κ·Έλ λ€λ©΄ κ°μ λΉλ°ν€λ₯Ό μ΄λ»κ² λΈλΌμ°μ μ μλ²κ° μ λ¬ν μ§μ λν λ¬Έμ κ° λ°μνλ€.
USB λ±μ μ μ₯μ₯μΉλ‘ μ λ¬νλ λ°©λ², λΉλ°ν€ μ체λ₯Ό μνΈννμ¬ μ λ¬νλ λ°©λ² λ±μ΄ μλλ° μ΄λ νμ€μ μΌλ‘ ν΄κ²°μ± μ΄ μλλ€.
ν΄μ λ±μ₯ν κ²μ΄λΉλμΉν€ μνΈν
νΉμ곡κ°ν€ μνΈν
λΌκ³ λΆλ¦¬λ λ°©μμ΄λ€.
- λΉλμΉν€ μνΈν(곡κ°ν€ μνΈν): μ‘μ μμ μμ μκ° κ°κ° 2κ°μ ν€λ₯Ό μμ±νλλ°, νλλ
κ°μΈν€
μ΄κ³ λλ¨Έμ§ νλλ곡κ°ν€
- 곡κ°ν€λ‘ μνΈννλ©΄ κ°μΈν€λ‘ 볡νΈνκ° κ°λ₯νκ³ , κ°μΈν€λ‘ μνΈννλ©΄ 곡κ°ν€λ‘ 볡νΈνκ° κ°λ₯νλ€.
- μ¦, λΈλΌμ°μ κ° μλ²μ 곡κ°ν€λ‘ μνΈνλ₯Ό νμ¬ λ©μμ§λ₯Ό 보λ΄κ³ , μλ²λ μλ²μ κ°μΈν€λ‘ 볡νΈνλ₯Ό μ§ννλ€.
- λ°λλ‘ μλ²λ λΈλΌμ°μ μ 곡κ°ν€λ‘ μνΈν, λΈλΌμ°μ λ λΈλΌμ°μ μ κ°μΈν€λ‘ 볡νΈννμ¬ λ μμ νκ² λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ μ μλ€.
- μλ²κ° μλ²μ 곡κ°ν€(SSL μΈμ¦μ) μ‘μ
- λΈλΌμ°μ κ° μλ²μ 곡κ°ν€λ₯Ό κ²μ¦(μΈμ¦κΈ°κ΄μ κ²μ¦μ μμ²)
------κ²μ¦ μλ£ ν-------
- λΈλΌμ°μ κ° λμΉν€ μμ±
- λΈλΌμ°μ λ
κ²μ¦λ μλ²μ 곡κ°ν€
λ‘ λμΉν€λ₯Ό μνΈν λ° μ‘μ - μλ²λ
μλ²μ κ°μΈν€
λ‘ λμΉν€λ₯Ό 볡νΈν------λΈλΌμ°μ μ μλ²κ° λμΉν€λ₯Ό μμ νκ² κ΅ν-------
- μ΄μ λΈλΌμ°μ λ λμΉν€λ‘ λ©μμ§ μνΈν λ° μ μ‘
- μλ²λ λμΉν€λ‘ μμ ν λ©μμ§λ₯Ό 볡νΈν
WWW
World Wide Web
μ μ½μ. νν web(μΉ)μΌλ‘ λΆλ₯Έλ€.- μΈν°λ·μ μ°κ²°λ μ¬μ©μλ€μ΄ μλ‘μ μ 보λ₯Ό 곡μ ν μ μλ 곡κ°μ μλ―Ένλ€.
μΈν°λ·
κ³Ό λΉμ·ν μλ―Έλ‘ μ¬μ©λμ§λ§, μ νν νμλ©΄ μΉμ μΈν°λ·μ μ¬λ¬ μλΉμ€λ€ μ€ νλμ ν΄λΉνλ€..- νμ§λ§ νλμλ μ μ¬νκ² μ¬μ©ν΄λ λ λ§νΌ μΉμ΄ μΈν°λ·μ κ°μ₯ ν° λΆλΆμ μ°¨μ§νκ³ μλ€.
URI
Uniform Resource Identifier
μ μ½μ. μ¦, ν΅ν©λ μμ μλ³μ(?) μ λμ λλ.- URI, URL(Locator), URN(Name)κ³Ό νν ν·κ°λ¦°λ€.
- URIλ URL, URNμ ν¬κ΄νλ λ λμ κ°λ
μ΄λ©° URLμ 리μμ€κ° μλ
μμΉ
, URNμ 리μμ€μμ΄λ¦
μ λνλΈλ€. - κ·Έλ¬λ μ¬μ€μ URNλ§μΌλ‘λ μ€μ 리μμ€λ₯Ό μ°Ύλ λ°©λ²μ μ΄λ ΅κ³ 보νΈνλμ§ μμλ€.(νλνλ 맡νμ ν΄λ¬μΌνκΈ°μ)
- λ°λΌμ κ°λ¨νκ² URI = URL + URN = URL + 0 κ³Ό κ°μ λλμ΄λΌ μκ°ν΄λ λλ€.
DOM
Document Object Model
μ μ½μλ‘μΉ νμ΄μ§
μ λν μΈν°νμ΄μ€- λ¨μνκ² μκ°νλ©΄ HTMLμ μμλ€μ΄ κ°μ²΄ κΈ°λ°μΌλ‘ ννλμ΄ νΈλ¦¬ ννλ‘ μ μ₯λλ κ²μ΄λ€.
- μ΄ λ, DOMμ htmlμ΄ μλκ³ λν λ λ νΈλ¦¬μλ λ€λ₯΄λ€.
- htmlμ head, bodyκ° μμ΄λ λΈλΌμ°μ λ μμμ κ΅μ νμ¬ DOMμμλ head, body κ°μ²΄κ° μ겨λλ€.
- λν, JavaScriptλ₯Ό ν΅ν΄ λμ μΌλ‘ DOMμ΄ μμ λ λ DOMμ λ³νμ§λ§ μ€μ htmlμ΄ λ³νμ§λ μλλ€.
- λ λ νΈλ¦¬λ DOMκ³Ό CSSOMμ΄ ν©μ³μ Έ νμ±λ κ²μΌλ‘ λ§μ½ βdisplay: noneβμ΄λΌλ μμ±μ΄ μλ€λ©΄ DOMμλ μμ§λ§ λ λ νΈλ¦¬μλ μλ€.
html
HyperText Markup Language
μ μ½μλ‘ μ΄λ€ νμ΄μ§μμ λ€λ₯Έ νμ΄μ§λ‘ μ΄λν μ μλλ‘ νλ κΈ°λ₯μ κ°μ§ λ¬Έμλ₯Ό μλ―Ένλ€.- μ¬μ€μ httpλ₯Ό ν΅ν΄ ν΄λΌμ΄μΈνΈμ μλ²κ° μ£Όκ³ λ°λ κ°μ₯ κΈ°λ³Έμ μΈ λ°μ΄ν°μ΄λ€.
Nodejs - https λͺ¨λ
- nodeμμ μ 곡νλ λͺ¨λλ‘ κ°λ¨ν μλ²λ₯Ό λ§λ€ μλ μκ³ μλ²μ μμ²μ λ³΄λΌ μλ μλ€.
- μλ²μ λ°μ΄ν°λ₯Ό μμ²ν λλ μλμ κ°μ΄ μ¬μ©νλ€.
- κΈ°λ³Έμ μΌλ‘ get methodλ‘ GET μμ²μ λ³΄λΌ μ μκ³ , request methodμμ 첫 λ²μ§Έ νλΌλ―Έν°μΈ options κ°μ²΄μ μμ² μ 보λ₯Ό λ΄μ GET μ΄μΈμ μμ²μ λ³΄λΌ μλ μλ€.
https.get(url, (res) => {
// ...
})
https.request(options, (res) => {
// ...
})
cheerio
- html νμ±μ μν λΌμ΄λΈλ¬λ¦¬ λͺ¨λ
- html ννμ ꡬ쑰μμ μνλ νκ·Έ, μμ±(attribute)μ valueλ€μ μ½κ² κ°μ Έμ¬ μ μκ² λμμ€λ€.
μ°Έκ³ μλ£
π μμ½ λ° ν루 κ°λ¨ νκ³
μλ²½νμ§ μμ§λ§, νΉμ urlμ μ 보λ€μ κ°μ Έμ€κ³ ν΄λΉ html λ΄μμ λλ€μ μμ²ν΄μΌν srcλ€μ λν μ 보λ κ°μ Έμ€λ http λΆμκΈ° νλ‘κ·Έλ¨μ λ§λ€μλ€!
μΆκ°λ‘ μΊμ±λ ꡬνν΄λ³΄κ³ μΆκΈ΄νλλ°β¦ μΌλ¨ ν΄μΌν κ² λ§μΌλ 체ν¬ν΄λκ³ λ€μμ κΌ κ΅¬ννλ € νλ€. νμ¬λ κ°λ¨νκ² cache ν΄λμ€λ₯Ό νλ λ§λ€κ³ λ°°μ΄ νλμ
μ΄μ μ μμ²νλ urlλ€μ λ΄μμ 체ν¬νλ μμΌλ‘ νλ©΄ λ κ² κ°λ€. λ, λΉλκΈ°λ‘ μΌμ μκ° λ€μ μμμ λ°°μ΄μ΄ λΉμμ§λλ‘ νμ¬ μΊμλ€μ΄ μ§μμ§λλ‘ νλ©΄ μμ£Ό μ΄λ ΅μ§ μκ²
ꡬνλ κ² κ°λ€!!! μ€λ ν루λ μ λ§ μ λ§ μ΄μ¬ν μκ³ νλ€!
μ€λμ μν μ
- μΆκ° μ μΈνκ³ λ―Έμ ꡬν μμ±ν μ
- μ€λλ μ λ§ λ°₯, μ λΉΌκ³ νλ‘κ·Έλλ°λ§ ν λ μμ
- κ·Έ μμ€μ κ°μλ λ£κ³ κ°λ μ 리λ νκ³ μ΄λ κ² μΌμ§λ μ λ λ μμ β¦ λΏλ―νλ€.
μ€λμ μμ¬μ΄ μ
- κ·Έλλ§ μΆκ°λ―Έμ ..?! λ€μμ κ³ννλλ‘ κ΅¬ννμ!