π κ°λ° μμ

μ 11μ₯. μΉ κ³΅κ²© κΈ°μ
μΈν°λ·μμμ λ²μ΄μ§λ 곡격μ λλΆλΆμ μΉ μ¬μ΄νΈλ₯Ό λ Έλ¦° κ²μ΄λ€ μΉ μ¬μ΄νΈ 곡격μλ μ΄λ€ κ²μ΄ μλμ§ κ·Έλ¦¬κ³ μ΄λ€ μν₯μ λ―ΈμΉλμ§μ λν΄μ μμ보μ. μΉ μ ν리μΌμ΄μ μ λν 곡격 ν¨ν΄ μλ²λ₯Ό λ Έλ¦¬λ λ₯λμ 곡격 (active attack) 곡격μκ° μ§μ μΉ μ ν리μΌμ΄μ μ μ‘μΈμ€ ν΄μ 곡격 μ½λλ₯Ό 보λ΄λ νμ μ 곡격 μλ² μμ 리μμ€μ λν΄ μ§μ μ€νλκΈ° λλ¬Έμ 곡격μκ° λ¦¬μμ€μ μ‘μΈμ€ ν νμκ° μμ ex) SQL μΈμ μ , OS 컀맨λ μΈμ μ μ μ λ₯Ό λ Έλ¦¬λ μλμ 곡격 (passive attack) ν¨μ μ μ΄μ©ν΄μ μ μ μκ² κ³΅κ²© μ½λλ₯Ό μ€νμν€λ 곡격 곡격μκ° μ§μ μΉ μ ν리μΌμ΄μ μ μ‘μΈμ€ ν΄μ 곡격νμ§ μμ ex) ν¬λ‘μ€ μ¬μ΄νΈ μ€ν¬λ¦½ν (XSS, cross-site scripting), ν¬λ‘μ€ μ¬μ΄νΈ 리..

μ 9μ₯. HTTPμ κΈ°λ₯μ μΆκ°ν νλ‘ν μ½
HTTPλ₯Ό κΈ°λ°μΌλ‘ ν΄μ μλ‘μ΄ κΈ°λ₯μ μΆκ°ν νλ‘ν μ½μ λν΄μ μμ보μ. π 1. HTTPμ λ³λͺ© νμμ ν΄μνλ SPDY Googleμ΄ 2010λ μ λ°νν SPDY(SPeeDY)λ HTTPμ λ³λͺ© νμμ ν΄μνκ³ μΉ νμ΄μ§ λ‘λ© μκ°μ 50% νλ€λ λͺ©νλ₯Ό μΈμ°κ³ κ°λ° π HTTPμ λ³λͺ© νμμ΄ λ°μνλ μ΄μ 1κ°μ 컀λ₯μ μΌλ‘ 1κ°μ μμ²λ§ λ³΄λΌ μ μλ€ μμ²μ ν΄λΌμ΄μΈνΈμμλ§ μμν μ μλ€. μλ΅λ§ λ°λ κ²μ λΆκ°λ₯νλ€ μμ²/μλ΅ ν€λλ₯Ό μμΆνμ§ μμ μ±λ‘ 보λΈλ€. ν€λμ μ λ³΄κ° λ§μμλ‘ μ§μ°μ΄ μ¬ν΄μ§λ€ μ₯ν©ν ν€λλ₯Ό 보λΈλ€. λ§€λ² κ°μ ν€λλ₯Ό 보λ΄λ κ²μ λλΉλ€ λ°μ΄ν° μμΆμ μμλ‘ μ νν μ μλ€. μμΆν΄μ 보λ΄λ κ²μ΄ κ°μ μ μ΄μ§ μλ€ π Ajaxμ μν ν΄κ²° λ°©λ² Ajaxλ JavaScrip..

μ 8μ₯. λκ° μμΈμ€νκ³ μλμ§λ₯Ό νμΈνλ μΈμ¦
HTTPμμ μ¬μ©νλ μΈμ¦ λ°©λ² 4κ°μ§λ₯Ό μμ보μ. π 1. BASIC μΈμ¦ μΉ μλ²μ λμνκ³ μλ ν΄λΌμ΄μΈνΈ μ¬μ΄μμ μ΄λ€μ§λ μΈμ¦ λ°©μ π μΈμ¦ μ μ°¨ μμ² μ‘μ μν μ½λ 401λ‘ μλ΅ν΄μ μΈμ¦μ΄ νμνλ€λ κ²μ μ λ¬ μ μ IDμ ν¨μ€μλλ₯Ό Base64 νμμΌλ‘ μΈμ½λ©ν κ²μ μ‘μ μΈμ¦ μ±κ³΅ μ 200μΌλ‘ μλ΅νκ³ , μ€ν¨ μ 401λ‘ μλ΅ BASIC μΈμ¦μμλ Base64λΌλ μΈμ½λ© νμμ μ¬μ© (μλ¬΄λ° λΆκ° μ 보 μμ΄λ 볡νΈνκ° κ°λ₯νλ€λ κ²) BASIC μΈμ¦μ νλ©΄, μΌλ° λΈλΌμ°μ μμλ λ‘κ·Έμμμ ν μ μλ€λ λ¬Έμ κ° μμ μ¬μ©μμ λ¬Έμ μ λ§μ μΉ μ¬μ΄νΈμμ μꡬλλ 보μ λ±κΈμ λ―ΈμΉμ§ λͺ»νλ€λ λ©΄μμ κ·Έλ€μ§ λ§μ΄ μ¬μ©λκ³ μμ§λ μμ π 2. DIGEST μΈμ¦ BASIC μΈμ¦μ μ½μ μ 보μν κ²..

μ 7μ₯. μΉμ μμ νκ² μ§μΌμ£Όλ HTTPS
π 1. HTTPμ λ¬Έμ μ κ³Ό ν΄κ²° λ°©μ HTTPμ 3κ°μ§ λ¬Έμ μ κ³Ό κ°κ°μ λν ν΄κ²° λ°©μμ λν΄μ μμ보μ. π 1-1. νλ¬Έ(μνΈννμ§ μμ)μ΄κΈ° λλ¬Έμ λμ²μ΄ κ°λ₯νλ€. HTTPλ₯Ό μ¬μ©ν μμ²κ³Ό μλ΅μ ν΅μ λ΄μ©μ HTTP μμ μ μνΈννλ κΈ°λ₯μ΄ μκΈ° λλ¬Έμ ν΅μ μ μ²΄κ° μνΈνλμ§λ μλλ€. μ¦, νλ¬Έ(μνΈνλμ§ μμ λ©μμ§)μΌλ‘ HTTP λ©μμ§λ₯Ό 보λΈλ€ μ΄λ μλ²μ ν΄λΌμ΄μΈνΈκ° ν΅μ μ ν λ, ν΅μ κ²½λ‘ μμ μλ λ€νΈμν¬ κΈ°κΈ°, μΌμ΄λΈ, μ»΄ν¨ν° λ±μ μ λΆ μκΈ° μμ μ΄ μμ νκ³ μμ μλ μλ€. κ·Έλμ μ μλ₯Ό κ°μ§ λκ΅°κ°κ° HTTP λ©μμ§λ₯Ό μΏλ³Ό μ μλ€. π ν΄κ²°μ± ν΅μ μνΈν SSL(Secure Socket Layer)μ΄λ TLS(Transport Layer Security)λΌλ λ€λ₯Έ νλ‘ν μ½..

μ 6μ₯. HTTP ν€λ
HTTP ν€λ νλλ κ·Έ μ©λμ λ°λΌ 4μ’ λ₯λ‘ λΆλ₯ν μ μλ€. λν, HTTP ν€λ νλλ μΊμμ λΉμΊμ νλ‘μμ λμμ μ μνκΈ° μν΄μ λ κ°μ§ μΉ΄ν κ³ λ¦¬λ‘ λΆλ₯λμ΄ μλ€. End-to-end ν€λ μμ²μ΄λ μλ΅μ μ΅μ’ μμ μμκ² μ μ‘ Hop-by-hop ν€λ ν λ² μ μ‘μ λν΄μλ§ μ ν¨νκ³ μΊμμ νλ‘μμ μν΄μ μ μ‘λμ§ μλ κ²λ μμ π 1. μΌλ°μ ν€λ νλ(General Header Fields) μμ² λ©μμ§μ μλ΅ λ©μμ§ λ λ€ μ¬μ©λλ ν€λ ν€λ νλ λͺ μ€λͺ Cache-Control μΊμ± λμ μ§μ Connection Hop-by-hop ν€λ. 컀λ₯μ κ΄λ¦¬ Date λ©μμ§ μμ± λ μ§ Pragma λ©μμ§ μ μ΄ Trailer λ©μμ§μ λμ μλ ν€λμ μΌλ Transfer-Encoding λ©..

μ 5μ₯. HTTPμ μ°κ³νλ μΉ μλ²
π 1. κ°μ νΈμ€νΈ(Virtual Host) κ°μ νΈμ€νΈ κΈ°λ₯μ μ¬μ©νλ©΄ 물리μ μΌλ‘λ μλ²κ° 1λμ§λ§ κ°μμΌλ‘ μ¬λ¬ λκ° μλ κ²μ²λΌ μ€μ νλ κ²μ΄ κ°λ₯νλ€ κ³ κ°λ§λ€ λ€λ₯Έ λλ©μΈμ κ°μ§κ³ , λ€λ₯Έ μΉ μ¬μ΄νΈλ₯Ό μ€νν μ μλ€ μ΄λ¦ κΈ°λ°μ κ°μ νΈμ€νΈ(Name-Based Virtual Host) κ°μ IP μ£Όμλ₯Ό κ°μ§κ³ μ¬λ¬ κ°μ νΈμ€νΈλͺ μ κ°μ§λ€. example1.com -> 192.168.0.1 example2.com -> 192.168.0.1 μ£Όμ κΈ°λ°μ κ°μ νΈμ€νΈ(IP-Based Virtual Host) νλμ μλ²μ μλ λλ©μΈλ€μκ² κ°κ° IP μ£Όμλ₯Ό ν λΉνμ¬ μ΄μ© example1.com -> 192.168.0.0 example2.com -> 192.168.0.1 ν¬νΈ κΈ°λ°μ κ°μ νΈμ€νΈ(Por..

μ 4μ₯. κ²°κ³Όλ₯Ό μ λ¬νλ HTTP μν μ½λ
π 1. μν μ½λ ν΄λμ€ ν΄λμ€ μ€λͺ 1XX Informational μμ²μ λ°μλ€μ¬ μ²λ¦¬μ€ 2XX Success μμ²μ μ μμ μΌλ‘ μ²λ¦¬νμ 3XX Redirection μμ²μ μλ£νκΈ° μν΄μ μΆκ° λμμ΄ νμ 4XX Client Error μλ²κ° μμ²μ μ΄ν΄ λΆκ°λ₯ 5XX Server Error μλ²κ° μμ² μ²λ¦¬ μ€ν¨ π 2. 2XX μ±κ³΅(Success) μμ²μ΄ μ μμ μΌλ‘ μ²λ¦¬λμμμ λνλ 200 OK ν΄λΌμ΄μΈνΈκ° λ³΄λΈ λ¦¬νμ€νΈλ₯Ό μλ²κ° μ μ μ²λ¦¬νμμμ λνλ 204 No Content μλ²κ° μμ²μ λ°μμ μ²λ¦¬νλ λ°λ μ±κ³΅νμ§λ§ μλ΅μ μν°ν° λ°λλ₯Ό ν¬ν¨νμ§ μμμ μλ―Έ ν΄λΌμ΄μΈνΈμμ μλ²μ μ 보λ₯Ό 보λ΄λ κ²μΌλ‘ μ‘±νκ³ , ν΄λΌμ΄μΈνΈμ λν΄μ μλ‘μ΄ μ 보λ₯Ό λ³΄λΌ νμκ° μλ κ²½μ°μ μ¬μ© 206 ..

μ 3μ₯. HTTP μ 보λ HTTP λ©μμ§μ μλ€.
π 1. μ μ‘ ν¨μ¨μ λμ΄λ μΈμ½λ© HTTPλ‘ λ°μ΄ν°λ₯Ό μ μ‘ν κ²½μ° κ·Έλλ‘ μ μ‘ν μ μμ§λ§ μ μ‘ν λμ μΈμ½λ©(λ³ν)μ μ€μν¨μΌλ‘μ¨ μ μ‘ ν¨μ¨μ λμΌ μ μλ€. νμ§λ§, μ»΄ν¨ν°μμ μΈμ½λ© μ²λ¦¬λ₯Ό ν΄μΌ νκΈ° λλ¬Έμ CPU λ±μ 리μμ€λ λ³΄λ€ λ§μ΄ μλΉνκ² λλ€. μ½ν μΈ μ½λ©(Content Codings) μν°ν°μ μ μ©νλ μΈμ½λ©μ κ°λ¦¬ν€λλ° μν°ν° μ 보λ₯Ό μ μ§ν μ±λ‘ μμΆνλ€. μ’ λ₯ : gzip(GNU zip), compress(UNIXμ νμ€ μμΆ), deflate(zlib), identity(μΈμ½λ© μμ) μ±ν¬ μ μ‘ μ½λ©(Chunked transfer Coding) μν°ν° λ°λλ₯Ό λΆν νλ κΈ°λ₯ μ¬μ΄μ¦κ° ν° λ°μ΄ν°λ₯Ό μ μ‘νλ κ²½μ°μ λ°μ΄ν°λ₯Ό λΆν ν΄μ μ‘°κΈμ© νμνλλ‘ νλ κ² π 2. μ¬λ¬ λ°μ΄ν°λ₯Ό 보..

μ 2μ₯. κ°λ¨ν νλ‘ν μ½ HTTP
π 1. HTTP λ©μμ§ κ΅¬μ‘° π 1. HTTP Requset ꡬ쑰 Start Line [HTTP Method][Request Target][HTTP Version]λ‘ κ΅¬μ± HTTP Method : μμ²μ μλλ₯Ό λ΄κ³ μλ GET, POST, PUT, DELETE λ±μ΄ ν΄λΉ Request Target : HTTP Requestκ° μ μ‘λλ λͺ©ν μ£Όμ HTTP Version : versionμ λ°λΌμ Request λ©μμ§ κ΅¬μ‘°λ λ°μ΄ν°κ° λ€λ₯Ό μ μμ΄μ versionμ λͺ μν΄μΌ ν¨ Http Headers ν΄λΉ Requestμ λν μΆκ° μ 보λ₯Ό λ΄κ³ μλ λΆλΆ μμ²νλ €λ μλ² νΈμ€νΈ μ΄λ¦, ν¬νΈ λ²νΈ, cookie, authorization λ±μ΄ μ‘΄μ¬ Empty Line Headersμ λμ λΉ μ€λ‘ μλ³ B..

μ 1μ₯. μΉκ³Ό λ€νΈμν¬μ κΈ°λ³Έμ λν΄ μμ보μ
μ± (κ·Έλ¦ΌμΌλ‘ λ°°μ°λ Http&Network Basic)μ ν΅ν΄ HTTPμ NetWorkμ λν μ 체μ μΈ ν° νμ μ΄ν΄νκ³ κ·Έ λ΄μ©λ€μ μ 리νκ³ μ νλ€. κ·Έλ κΈ° λλ¬Έμ μΆκ°μ μΈ κ³΅λΆκ° νμν μ£Όμ μ λν΄μλ λ€μ νλ² μμΈν λΈλ‘κΉ μ νλλ‘ νκ² λ€. π 1. κΈ°λ³Έμ©μ΄ μλ² λ¦¬μμ€λΌκ³ λΆλ¦¬λ νμΌ λ±μ μ 보λ₯Ό μ μ₯ ν΄λΌμ΄μΈνΈ μλ²μ μλ’°νλ μΉ λΈλΌμ°μ HTTP(HyperText Transfer Protocol) νλ‘ν μ½ ν΄λΌμ΄μΈνΈμμ μλ²κΉμ§ μΌλ ¨μ νλ¦μ κ²°μ νκ³ μλ κ² νλ‘ν μ½(Protocol) μλ‘ λ€λ₯Έ νλμ¨μ΄μ μ΄μ체μ λ±μ κ°μ§κ³ μλ‘ ν΅μ μ νκΈ° μν΄ νμν κ·μΉ π 2. TCP/IP μΈν°λ·κ³Ό κ΄λ ¨λ νλ‘ν μ½λ€μ λͺ¨μ κ² TCP/IPλ 'μ ν리μΌμ΄μ κ³μΈ΅', 'νΈλμ€ν¬νΈ κ³μΈ΅', 'λ€νΈμν¬ ..

ν¨κ» μλΌκΈ° - μ μμΌλ‘ κ°λ κΈΈ
μ΄λ² κΈμμλ κ°λ¨ν μ± μ μκ°μ κΈ°λ‘ν΄ λλ©΄ μ’μ λͺ κ°μ§ λ΄μ©μ μ κ³ μ νλ€. νμ¬ λμ μνμμ μ μ ν λͺ κ°μ§ μ£Όμ μ΄λ―λ‘ μ± μμ λμ¨ λ€μν λ΄μ©λ€λ κΌ μ΄ν΄λ³΄κΈ°λ₯Ό λ°λλ€. 1. μ± μκ° π± μ± μ μλΌκΈ° ν¨κ» μ μμΌ μ΄λΌλ 3κ°μ μ₯μΌλ‘ ꡬμ±λμ΄ μλ€. '1μ₯. μλΌκΈ°'μμλ νμ΅μ νμ΅νλ λ°©λ²μ λν΄μ, '2μ₯. ν¨κ»'μμλ νλ ₯ λ°©λ²μ λν΄μ, '3μ₯. μ μμΌ'μμλ μ λͺ© κ·Έλλ‘ μ μμΌμ λν΄μ μμλ³Έλ€. μ± μ λ΄μ©μ μμ½νμλ©΄ μλμ κ°λ€. ν¨κ» μλΌκΈ° - μ μμΌλ‘ κ°λ κΈΈ 2. λ κ°μ§ μ€μ λ¬Έν πΏ μ€μ λ¬Ένλ μ€μ μλ°©κ³Ό μ€μ κ΄λ¦¬λ‘ λλ μ μλ€. μ€μ μλ°© μ€μλ‘ κ°λ κ²½λ‘λ₯Ό μ°¨λ¨νλ κ²μ΄λ€. μ¦, μ€μλ₯Ό μ μ§λ₯΄μ§ λ§λΌκ³ μꡬνλ κ²μ΄λ€. μ€μ κ΄λ¦¬ μ€μκ° λμ κ²°κ³Όλ‘ λκΈ° μ μ ..

κ°μ²΄μ§ν₯μ μ¬μ€κ³Ό μ€ν΄(2)
4μ₯. μν , μ± μ, νλ ₯ π’ μ± μ μ± μμ κ°μ²΄μ§ν₯ μ€κ³μ νμ§μ κ²°μ νλ κ°μ₯ μ€μν μμμ΄λ€. κ°μ²΄μ§ν₯ μ€κ³μ μμ μ μ μ ν κ°μ²΄μκ² μ μ ν μ± μμ ν λΉνλ λ° μλ€. μ€κ³λ₯Ό μμνλ μ΄λ°μλ μ΄λ€ κ°μ²΄κ° μ΄λ€ μ± μμ κ°μ§κ³ μ΄λ€ λ°©μμΌλ‘ μλ‘ νλ ₯ν΄μΌ νλμ§μ λν κ°μλ₯Ό μλ κ²λ§μΌλ‘λ μΆ©λΆνλ€. μ± μκ³Ό νλ ₯μ κ΅¬μ‘°κ° μ리λ₯Ό μ‘κΈ° μ κΉμ§λ μ± μμ ꡬννλ λ°©λ²μ λν κ³ λ―Όμ μ μ λ€λ‘ λ―Έλ€λμ. μν μ΄λ€ κ°μ²΄κ° μννλ μ± μμ μ§ν©μ κ°μ²΄κ° νλ ₯ μμμ μννλ μν μ μμνλ€. μν μ μ¬μ¬μ© κ°λ₯νκ³ μ μ°ν κ°μ²΄μ§ν₯ μ€κ³λ₯Ό λ³λ λ§€μ° μ€μν ꡬμ±μμμ΄λ€. μν μ κ°λ μ μ¬μ©νλ©΄ μ μ¬ν νλ ₯μ μΆμνν μ μλ€. κ·Έλ¦¬κ³ λ€μν κ°μ²΄λ€μ΄ νλ ₯μ μ°Έμ¬ν μ μκΈ° λλ¬Έμ νλ ₯μ΄ μ’ λ μ μ°ν΄μ§λ©° λ€μ..