HTTP (HyperText Transfer Protocol)

Moon Blue의 IT 로그 📝·2023년 3월 24일
0
post-thumbnail

HTTP(HyperText Transfer Protocol)는 웹에서 데이터를 전송하기 위한 애플리케이션 계층 프로토콜입니다. 웹 브라우저(클라이언트)와 웹 서버 간에 HTML 문서, 이미지, 동영상 등의 리소스를 주고받을 때 사용됩니다.

💡 동작 원리

📚 HTTP는 클라이언트와 서버 간의 요청-응답(request-response) 모델을 따릅니다. 클라이언트가 서버에 요청을 보내면, 서버는 요청에 대한 응답을 전송합니다. 이 과정에서 HTTP 메소드(GET, POST, PUT, DELETE 등)와 상태 코드(200, 404, 500 등)가 사용됩니다.

✅ 클라이언트의 요청(Request)

웹 브라우저가 웹 서버에 리소스를 요청합니다. 주로 URL 주소를 통해 웹 서버에 접근하며, HTTP 메소드와 헤더, 본문을 포함한 요청 메시지를 전송합니다.

✅ 서버의 응답(Response)

웹 서버는 요청받은 리소스를 처리한 후, 상태 코드와 함께 응답 메시지를 전송합니다. 응답 메시지에는 헤더와 본문이 포함되며, 본문에는 요청한 데이터가 들어있습니다.


💡 메소드

  • GET
    서버로부터 정보를 조회할 때 사용합니다. 주로 웹 페이지나 이미지를 요청하는 데 사용됩니다.
  • POST
    서버에 새로운 정보를 추가하거나, 데이터를 전송할 때 사용합니다. 주로 폼 데이터를 서버에 전송하는 데 사용됩니다.
  • PUT
    서버의 기존 정보를 수정할 때 사용합니다.
  • DELETE
    서버의 정보를 삭제할 때 사용합니다.

💡 상태 코드

📚 HTTP 상태 코드는 서버의 응답 상태를 나타내는 3자리 숫자입니다. 주요 상태 코드는 다음과 같습니다.

  • 200 OK : 요청이 성공적으로 처리되었습니다.
  • 404 Not Found : 요청한 리소스가 존재하지 않습니다.
  • 500 Internal Server Error : 서버에서 처리 중 오류가 발생했습니다.

📝 요약

HTTP는 웹에서 데이터를 주고받기 위한 프로토콜로, 클라이언트와 서버 간 요청-응답 모델을 사용합니다. 주요 HTTP 메소드와 상태 코드를 통해 원활하는 리소스에 대한 작업을 요청하고, 서버의 응답 상태를 확인할 수 있습니다. 그러나 HTTP는 보안 기능이 없어 중간에서 데이터 탈취가 가능한 문제가 있습니다. 따라서 민감한 정보를 다루는 경우 HTTPS를 사용하는 것이 좋습니다.


💡 캐싱과 쿠키

📚 HTTP에서는 효율적인 데이터 전송과 사용자 경험을 위해 캐싱과 쿠키를 사용합니다.

✅ 캐싱

웹 브라우저는 자주 사용되는 리소스를 캐시에 저장하여 빠르게 로딩할 수 있습니다. 이를 통해 트래픽을 줄이고 사용자 경험을 개선할 수 있습니다.

✅ 쿠키

쿠키는 클라이언트의 웹 브라우저에 저장되는 작은 데이터 조각입니다. 서버는 쿠키를 사용하여 클라이언트의 상태 정보를 저장하고, 클라이언트는 쿠키를 사용하여 이전 상태 정보를 서버에 전달할 수 있습니다. 쿠키는 주로 로그인 상태 유지, 사용자 설정 저장 등에 사용됩니다.


💡 HTTP/2와 HTTP/3

📚 HTTP 프로토콜은 시간이 지남에 따라 발전하여 성능과 보안을 개선하고 있습니다. HTTP/1.1 이후에는 HTTP/2와 HTTP/3 프로토콜이 등장했습니다.

✅ HTTP/2

다중화, 서버 푸시, 헤더 압축 등의 기능을 제공하여 성능을 개선한 프로토콜입니다.

✅ HTTP/3

기존의 TCP 대신 QUIC 프로토콜을 사용하여 통신 지연 시간을 줄이고 성능을 더욱 개선한 프로토콜입니다.

이러한 최신 프로토콜들을 사용하면 웹 통신의 성능을 향상시킬 수 있습니다. 웹 사이트의 성능을 최적화하려면 이러한 프로토콜들을 적용하는 것도 고려해볼 만한 방법입니다.

profile
What a Beautiful World~ 🌏

0개의 댓글