APP/ANDROID

[λΆ€μŠ€νŠΈμ½”μŠ€] λ„€νŠΈμ›Œν‚Ή/HTTP

mingzoo 2020. 3. 5. 22:17

μ†ŒμΌ“(Socket)

λ„€νŠΈμ›Œν¬λ₯Ό κ²½μœ ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€ κ°„ ν†΅μ‹ μ˜ 접속점

μ†ŒμΌ“μ„ ν†΅ν•΄μ„œ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ 사이에 데이터 μ†‘μˆ˜μ‹ μ˜ 역할을 ν•œλ‹€.

μ„œλ²„ μ†ŒμΌ“μ€ 연결을 κΈ°λ‹€λ¦¬λŠ” 역할을 ν•˜κ³  ν΄λΌμ΄μ–ΈνŠΈ μ†ŒμΌ“μ€ 연결을 λ§Œλ“œλŠ” 역할을 ν•œλ‹€.

 

λ„€νŠΈμ›Œν‚Ή(Networking)

λ°μ΄ν„°λ² μ΄μŠ€μ™€ μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈμ˜ μ˜μ‚¬μ†Œν†΅ν•˜λŠ” ν–‰μœ„

두 λŒ€ μ΄μƒμ˜ 컴퓨터λ₯Ό μΌ€μ΄λΈ”λ‘œ μ—°κ²°ν•˜μ—¬ λ„€νŠΈμ›Œν¬λ₯Ό κ΅¬μ„±ν•˜λŠ” 것

λ„€νŠΈμ›Œν‚Ήμ€ 응닡속도λ₯Ό 높이기 μœ„ν•΄ μ†ŒμΌ“ 연결을 μ„ ν˜Έν•˜λ©°, TCP/IP의 톡신방식을 μ œκ³΅ν•˜λŠ” μ†ŒμΌ“μ„ μ‚¬μš©ν•˜λŠ”λ° 이λ₯Ό ν™œμš©ν•˜κΈ° μœ„ν•΄ μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈλ₯Ό 개발


HTTP

μ›Ή μ„œλ²„λŠ” κ΅­μ œν‘œμ€€μ— λ§žλŠ” 포맷인 HTTP μš”μ²­μ„ λ°›μ•„ μ²˜λ¦¬ν•  수 μžˆλ‹€.

ν΄λΌμ΄μ–ΈνŠΈλŠ” μš”μ²­μ„ λ³΄λ‚΄λŠ” μͺ½μ„ μ˜λ―Έν•˜λ©° μ›Ήμ—μ„œλŠ” λΈŒλΌμš°μ €λ₯Ό μ˜λ―Έν•œλ‹€.

μ„œλ²„λŠ” μš”μ²­μ„ λ°›λŠ” μͺ½μ„ μ˜λ―Έν•˜λ©° 데이터λ₯Ό λ³΄λ‚΄μ£ΌλŠ” μ›κ²©μ§€μ˜ 컴퓨터λ₯Ό μ˜λ―Έν•œλ‹€.

λ°μ΄ν„°λŠ” μ •ν•΄μ§„ 포맷으둜 μ—°κ²°λ˜λŠ”λ°, μ΄λŠ” 헀더와 λ°”λ””λ‘œ μ΄λ£¨μ–΄μ Έμžˆλ‹€.

ν—€λ”λŠ” μ—¬λŸ¬μ€„(엔터쀄)둜 κ΅¬μ„±λ˜μ–΄μžˆμœΌλ©°, λ°”λ””μ—λŠ” 보내고 λ°›κΈ° μœ„ν•œ λŒ€μƒ 데이터λ₯Ό λ„£μ–΄λ‘˜ 수 μžˆλ‹€.

 

HTTP μš”μ²­ 포맷

GET,POST와 같은 μš”μ²­λ°©μ‹, μš”μ²­νŒ¨μŠ€, HTTP버전이 λ“€μ–΄κ°€ μžˆλ‹€.

각 쀄은 ν•˜λ‚˜μ˜ 속성을 λ‚˜νƒ€λ‚΄κ³  속성이름 + μ½œλ‘ (:) + μ†μ„±κ°’μœΌλ‘œ κ΅¬μ„±λ˜μ–΄μžˆλ‹€.

GET : λ¦¬μ†ŒμŠ€λ₯Ό ν΄λΌμ΄μ–ΈνŠΈλ‘œ κ°€μ Έμ˜΄

POST : URL에 μ €μž₯된 정보λ₯Ό 보냄

PUT : URL에 μ €μž₯된 정보λ₯Ό 보냄

DELETE : URL에 μ €μž₯된 λ¦¬μ†ŒμŠ€λ₯Ό μ‚­μ œ

TRACE : 보낸 λ©”μ„Έμ§€λ₯Ό λ‹€μ‹œ λ°›μŒ

CONNECT : ν”„λ‘μ‹œμ— μ‚¬μš©λ˜λŠ” μ˜ˆμ•½ λ©”μ„œλ“œ

OPTIONS : μš”μ²­ URL에 μ–΄λ– ν•œ λ©”μ„œλ“œλ₯Ό μš”μ²­ κ°€λŠ₯ν•œμ§€ 확인

HEAD : GETκ³Ό λΉ„μŠ·ν•˜λ‚˜, 응닡 Header만 λ°›μŒ

HTTP 응닡 포맷

μ‘λ‹΅μ˜ 첫 쀄은 μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λ©° HTTP λ²„μ „κ³Ό 응닡 μ½”λ“œ, μ‘λ‹΅ λ©”μ‹œμ§€ λ“±μœΌλ‘œ ꡬ성

 

728x90