작심 365

[CS 스터디] 2주차 본문

CS/네트워크

[CS 스터디] 2주차

eunKyung KIM 2024. 3. 12. 16:31

HTTP 프로토콜 

HTTP 프로토콜은 인터넷 상에서 데이터를 주고 받기 위한 통신 규칙입니다. 

주로 웹 서버와 웹 클라이언트 간에 데이터를 주고 받을때 사용합니다. 

 

▶ HTTP는 다음과 같이 동작합니다.

 

1. 클라이언트 요청 : 클라이언트(ex.웹 브라우저)가 웹 서버에 요청을 보냅니다. 요청 메세지에는 기본적으로

요청하는 리소스 (URL), 요청 방법 (HTTP 메서드), 헤더, 바디등의 데이터를 포함합니다.

2. 서버 응답 : 서버는 클라이언트의 요청에 따라 적절한 응답을 생성해 다시 클라이언트에게 내려줍니다. 

이때 요청에 따른 처리 상태를 명확히 하기 위해 응답 코드 정보도 함께 보내주는데, 응답 코드에는 성공을 의미하는 200, 

요청의 결과를 찾을수 없는 404 등이 있습니다. 

 

HTTP는 주로 TCP/IP 프로토콜 스택 위에서 동작하며, 기본적으로 80번 포트를 사용합니다. 또한 GET,POST 등의 메서드를

제공하여 클라이언트에서 서버에게 다양한 요청을 처리할 수 있도록 합니다.

 

 

 

▶ HTTP 메서드 종류와 특징

method 역할
GET 서버로 부터 리소스 요청 (조회)
POST 서버에게 새로운 데이터 전송 (추가)
PUT 리소스 전체 변경 (수정)
PATCH 리소스 일부만 변경 (수정)
DELETE 리소스 삭제 요청 (삭제)

 

▶ HTTP 상태 코드

HTTP 상태 코드란 서버가 클라이언트의 요청에 대한 처리 결과를 응답해주는 세 자리수로 이루어진 숫자입니다.

클라이언트는 요청에 대한 결과를 응답코드를 통해 알 수 있습니다.

 

주요 상태 코드 예시입니다.

1xx : 100번대 코드의 경우 요청에 대한 처리가 진행중임을 나타냅니다. (ex. 100 : Continue)

2xx : 요청이 성공적으로 처리되었음을 나타냅니다. (ex. 200 : OK, 201 : Created)

3xx : 추가적인 동작이 필요함을 나타냅니다. 즉 클라이언트는 요청을 완료하기 위한 추가 조치를 취해야 합니다. 

4xx : 클라이언트측 요청이 잘못되었음을 나타냅니다. (ex. 400 : Bad Request, 401 : Unauthorized)

5xx : 서버에서 요청을 처리하는 중에 오류가 발생하였음을 나타냅니다. (ex. 500 : Internal Server Error, 503: Service Unavailable)

 

 

▶ HTTP 의 무상태성(Stateless)

HTTP 프로토콜은 무상태성입니다. 각 요청이 서로 독립적이며 이전 요청과의 상태를 공유하지 않습니다. 

무상태성은 HTTP의 핵심 원칙 중 하나입니다. 무상태성은 웹의 확장성과 성능을 향상시키는데 기여합니다. 

 

하지만 상태를 공유하지 않기때문에 권한이 필요한 요청의 경우 클라이언트 쪽에서 내가 권한을 가졌는지 여부를

매번 서버에게 알려줘야 하고 이를 위해 쿠키, 세션, 토큰 같은 기술이 사용됩니다.

 


DNS 

DNS(Domain Name System) 란 인터넷에서 사용되는 서비스로, www.example.com  과 같이 사람이 읽을 수 있는 이름을 

192.0.2.1과 같은 숫자 IP주소로 변환하여 컴퓨터가 서로 통신할 수 있도록 도와줍니다.

 

인터넷 상에서 컴퓨터들은 각각의 고유 식별자인 IP주소를 사용하여 통신하지만 사람이 이런 IP주소를 기억하기는

어려울 수 있습니다. 따라서 DNS는 도메인 이름과 IP주소를 매핑하는 서비스를 제공해 줍니다. 

 

'CS > 네트워크' 카테고리의 다른 글

[CS 스터디] 5주차  (4) 2024.04.04
[CS 스터디] 3주차  (1) 2024.03.21
[CS 스터디] 1주차  (1) 2024.03.07
Comments