네트워킹(Networking)

썹스·2022년 11월 22일
0

네트워킹(Networking)

클라이언트(컴퓨터, 스마트폰...)와 서버(서버 컴퓨터...)가 데이터를 주고받는 활동을 네트워킹(Networking)이라 부릅니다.

즉, 컴퓨터(스마트폰...)끼리 네트워크망을 통해 데이터를 주고받는 활동 및 행위


📌 TCP/IP

클라이언트와 서버가 네트워크망을 통해 데이터를 주고받기 위해 사용하는 여러가지 통신 규약(프로토콜)의 모음을 TCP/IP 라 부릅니다. 네트워크의 모델 - TCP/IP 4계층 모델

TCP/IP에는 여러 종류의 프로토콜이 존재하지만, 개발자 입장에서 눈여겨봐야 할 프로토콜은 응용계층의 HTTP 프로토콜입니다.


📌 HTTP 프로토콜

HTTP(Hypertext Transfer Protocol)는 네트워크망에서 데이터를 주고받기 위해 서버/클라이언트 모델을 따르는 프로토콜입니다.

초기에는 하이퍼 문서를 전송하는 목적으로 사용되었지만 현재는 문서, 이미지, 영상, 음성, JSON 등 모든 형태의 데이터를 전송할 수 있습니다.

www에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹, 앱에서 사용되고 있습니다.

HTTP 프로토콜은 Request(요청)/Response(응답) 동작에 기반하여 서비스 제공한다는 특징을 가지고 있습니다.


📌 HTTP 프로토콜의 요청 메세지

HTTP 프로토콜의 요청 메세지의 구조는 아래와 같습니다.

Request Line : 요청 대상을 가리키는 문자
Request Line의 구조는 {요청 타입}{공백}{URI}{공백}{HTTP 버전}으로 이루워져 있습니다.

⚙️ 요청 방식

메소드 종류 (요청 방식)설명
⭐️GETClient가 Server로부터 문서를 읽어오려 할 때 사용
⭐️POSTClient가 Server에게 어떤 정보를 전송할 때 사용
PUTClient가 Server에 특정 자원을 업로드할 떄 사용
DELETEServer에서 문서를 제거하기 위해 사용
PATCHPUT과 비슷함, 기존 파일에서 변경 사항만을 포함

GET과 POST를 제외한 대부분의 메소드는 보안 문제 때문에 사용 못 하도록 막고 있습니다.


⚙️ Headers : HTTP 요청 프로토콜의 다양한 옵션이 들어가는 공간

일반 헤더

헤더 종류설명
Content-Length메시지 바디 길이를 나타낼 때 쓰인다.
Content-Type메시지 바디에 들어있는 컨텐츠 종류

요청 헤더

헤더 종류설명
Cookie서버로부터 받은 쿠키를 다시 서버에게 보내주는 역할을 한다.
Host요청된 URL에 나타난 호스트명을 상세하게 표시
User-AgentClient Program에 대한 식별 가능 정보를 제공

응답 헤더

헤더 종류설명
Server사용하고 있는 웹서버의 소프트웨어에 대한 정보를 포함
Set-Cookie쿠키를 생성하고 브라우저에 보낼 때 사용, 해당 쿠키 값을 브라우저가 서버에게 다시 보낼 때 사용한다.

⚙️ Body

보내려는 데이터(문서, 이미지, 영상 등...)가 할당되는 영역입니다.
Body는 없을 수도 있습니다.


📌 HTTP 프로토콜의 응답 메세지

HTTP 프로토콜의 응답 메세지의 구조는 아래와 같습니다.

Status Line : 요청 대상을 가리키는 문자
Status Line의 구조는 {HTTP 버전}{공백}{상태 코드}{공백}{상태 문구}으로 이루워져 있습니다.


⚙️ 상태 코드

상태 코드 종류상태 문구설명
200OKClient의 요청이 성공했다는 것을 나타낸다.
⭐️403ForbiddenClient가 권한이 없는 페이지를 요청했을 때
⭐️404Not FoundClient가 서버에 없는 페이지를 요청했을 때
⭐️500Internal Server ErrorServer의 일부가 멈췄거나 설정 오류가 발생
⭐️503Service Unavailable최대 Session 수를 초과했을 때

⚙️ Headers

HTTP 응답 프로토콜의 다양한 옵션이 들어가는 공간입니다.

일반 헤더

헤더 종류설명
Content-Length메시지 바디 길이를 나타낼 때 쓰인다.
Content-Type메시지 바디에 들어있는 컨텐츠 종류

요청 헤더

헤더 종류설명
Cookie서버로부터 받은 쿠키를 다시 서버에게 보내주는 역할을 한다.
Host요청된 URL에 나타난 호스트명을 상세하게 표시
User-AgentClient Program에 대한 식별 가능 정보를 제공

응답 헤더

헤더 종류설명
Server사용하고 있는 웹서버의 소프트웨어에 대한 정보를 포함
Set-Cookie쿠키를 생성하고 브라우저에 보낼 때 사용, 해당 쿠키 값을 브라우저가 서버에게 다시 보낼 때 사용한다.

⚙️ Body

보내려는 데이터(문서, 이미지, 영상 등...)가 할당되는 영역입니다.
Body는 없을 수도 있습니다.

profile
응애 나 코린이(비트코인X 코딩O)

0개의 댓글