[CS] 네트워크(Network)

tndkzjd·2024년 3월 17일

전 세계의 다양한 컴퓨터와 서버를 서로 연결하여 정보 교환이 가능하게 하는 광범위한 시스템입니다.

이 시스템 내에서, 클라이언트(사용자의 장치)와 서버(정보를 제공하는 장치) 간의 상호작용은 요청(Request)과 응답(Response)의 형태로 이루어집니다.

이러한 통신 과정에서 요청을 하고 응답을 받기 위해서는, 양쪽 시스템이 이해하고 따를 수 있는 공통의 언어가 필요합니다. 이러한 네트워크 내 상호작용을 가능하게 하는 중심적인 요소가 바로 프로토콜(Protocol) 입니다.

프로토콜(Protocol)

다양한 컴퓨터 시스템이나 네트워크 장비 간에 데이터를 원활하게 교환하기 위해 필요한 약속이나 규약을 말합니다.

HTTP(Hypertext Transfer Protocol)

클라이언트와 서버 간 통신을 가능하게 하는 프로토콜입니다.

사용자가 웹 브라우저를 통해 웹 사이트를 접속할 때, 브라우저가 웹 서버에 HTTP 요청을 보냅니다. 그러면 웹 서버는 요청에 대해 HTTP 응답을 보내게 됩니다.

HTTP는 기본적으로 클라이언트(주로 웹 브라우저)와 서버 간의 통신을 위해 설계되었으며, 이러한 통신은 텍스트 형식으로 이루어집니다.
이 텍스트에는 HTML 문서, 이미지, 비디오 등 다양한 형태의 데이터를 포함할 수 있습니다.

TCP/IP 프로토콜 스택 위에서 작동하며, 기본적으로 80번 포트를 사용합니다.

HTTPS(Hypertext Transfer Protocol Secure)

HTTP의 확장 버전 또는 더 안전한 버전으로, 브라우저와 서버가 데이터를 전송하기 전에 안전하고 암호화된 연결을 설정합니다.

HTTPS는 보안을 강화하기 위해 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security)를 사용하여 암호화 하며, 일반적으로 443번 포트를 사용합니다.

HTTP 메서드

GET: 가장 일반적인 메서드로, 리소스를 조회할 때 사용

  • 사용자가 특정 페이지를 보거나, 데이터를 검색할 때 주로 사용합니다. GET 요청은 정보를 검색하는 데 사용되며, 서버의 데이터나 상태를 변경하지 않아야 합니다.

POST: 새로운 리소스를 생성할 때 사용

  • 사용자가 폼을 제출하여 서버에 데이터를 보낼 때 사용합니다. POST 요청은 주로 서버에 새로운 데이터를 추가하거나, 리소스를 생성하는 데 사용됩니다.

PUT: 기존 리소스를 새로운 데이터로 갱신할 때 사용

  • 이미 존재하는 리소스의 전체를 업데이트할 필요가 있을 때 사용합니다. PUT 요청은 대상 리소스를 완전히 대체합니다.

DELETE: 지정된 리소스를 삭제하는데 사용

  • 사용자가 지정한 리소스를 제거하고자 할 때 사용됩니다. DELETE 요청은 해당 리소스를 서버에서 삭제합니다.

상태 코드의 이해

웹에서의 상태 코드는 클라이언트가 서버에 요청을 보냈을 때, 그 요청이 어떻게 처리되었는지를 나타내는 숫자 코드입니다. 이 코드들은 응답의 첫 번째 줄에 위치하며, 요청 처리의 성공, 경고, 실패 등을 대표합니다.

📎일반적으로 많이 볼 수 있는 상태 코드

200 OK

요청이 성공적으로 처리

400 Bad Request

잘못된 요청

404 Not Found

URL에 해당하는 리소스가 없는 경우

500 Internal Server Error

서버 내부 문제 발생(문법 오류, 컴파일 오류, 런타임 오류)

https://developer.mozilla.org/ko/docs/Web/HTTP/Status
💡더 자세한 HTTP 상태 코드는 MDN HTTP 문서를 참조하세요

profile

0개의 댓글