카테고리 없음

HTTP 에 대하여 알아 보자.

블로그하는프로그래머 2023. 1. 27. 11:58

HTTP(Hypertext Transfer Protocol)는 인터넷을 통해 데이터를 전송하는 데 사용되는 통신 프로토콜입니다.  World Wide Web의 기반이며 웹 페이지, 이미지 및 비디오를 포함하여 인터넷에서 대부분의 데이터를 전송하는 데 사용됩니다.



 HTTP 메시지의 기본 구조는 요청과 응답으로 구성됩니다.  웹 브라우저와 같은 클라이언트는 서버에 요청을 보내고 서버는 클라이언트에 다시 응답을 보냅니다.  요청과 응답은 둘 다 메시지 형식이며 여기에는 메서드(예: GET, POST), URL, 헤더 및 메시지 본문과 같은 다양한 정보가 포함됩니다.

 HTTP에서 사용되는 가장 일반적인 방법은 서버에서 리소스를 검색하는 데 사용되는 GET 방법입니다.  다른 일반적인 방법은 리소스를 생성하거나 업데이트하기 위해 서버에 데이터를 보내는 데 사용되는 POST입니다.  특정 목적을 위해 사용되는 PUT, DELETE 및 PATCH와 같은 다른 방법이 있습니다.

 HTTP는 클라이언트가 요청을 시작하고 서버가 요청에 응답하는 클라이언트-서버 아키텍처를 사용합니다.  클라이언트와 서버 간의 통신은 일반적으로 인터넷의 기반인 TCP/IP 연결을 통해 이루어집니다.

 HTTP의 주요 기능 중 하나는 상태 비저장 프로토콜이라는 것입니다. 즉, 각 요청은 이전 요청과 독립적입니다.  이는 간단하고 효율적이지만 상태를 유지하기 위해 쿠키나 세션과 같은 추가 메커니즘이 필요함을 의미하기도 합니다.  쿠키는 브라우저에 의해 클라이언트의 컴퓨터에 저장되고 각 요청과 함께 서버로 전송되는 작은 텍스트 파일입니다.  세션은 웹 사이트에서 사용자의 상호 작용 상태를 저장하는 데 사용되며 일반적으로 쿠키에 저장된 세션 ID를 사용하여 구현됩니다.

 HTTP는 요청 및 응답 메시지 모두에 간단한 텍스트 기반 형식을 사용합니다.  요청 메시지는 일반적으로 메서드, URL 및 헤더로 구성되는 반면 응답 메시지는 일반적으로 상태 코드, 헤더 및 메시지 본문으로 구성됩니다.  상태 코드는 성공적인 요청의 경우 200 OK, 이행할 수 없는 요청의 경우 404 Not Found와 같이 요청 결과를 나타내는 3자리 숫자입니다.

 HTTP 버전 1.1은 가장 널리 사용되는 HTTP 버전이며 TCP/IP를 통해 실행되는 애플리케이션 프로토콜입니다.  이 버전에서 가장 중요한 변경 사항은 동일한 연결을 통해 여러 요청과 응답을 보낼 수 있는 연결 유지 연결의 도입입니다.  이렇게 하면 각 요청에 대한 연결을 열고 닫는 오버헤드가 제거되어 성능이 향상됩니다.

 HTTP/2는 HTTP의 다음 버전이며 가장 뛰어난 기능은 하나의 단일 연결에서 요청과 응답을 다중화하는 동시에 헤더를 압축하는 것입니다.  이렇게 하면 요청을 완료하는 데 필요한 왕복 횟수가 줄어들어 효율성이 높아지고 네트워크를 통해 전송되어야 하는 데이터 양도 줄어듭니다.

 HTTPS(HTTP Secure)는 HTTP 위에 구축된 프로토콜이며 전송되는 데이터에 암호화를 추가합니다.  이는 SSL/TLS(Secure Sockets Layer/Transport Layer Security)를 사용하여 네트워크를 통해 전송되는 데이터를 암호화함으로써 달성됩니다.  이렇게 하면 전송 중에 데이터를 가로채거나 수정할 수 없으며 암호 및 신용 카드 번호와 같은 중요한 정보를 안전하게 전송할 수 있습니다.

 전반적으로 HTTP는 인터넷을 통해 데이터를 전송할 수 있는 강력하고 널리 사용되는 프로토콜이며 World Wide Web의 기반입니다.  프로토콜의 개발과 진화는 지속적으로 진행 중이며 성능과 보안을 더욱 향상시키기 위해 HTTP/3에 대한 작업이 진행 중입니다.