-
HTTP(HyperText Transfer Protocol) 이해하기얇게 공부한 CS 2024. 2. 26. 14:41
HTTP는 HyperText Transfer Protocol의 약자로 웹상에서 데이터를 주고받는 기본적인 규칙을 정의합니다.
또한 웹 문서뿐만 아니라 모바일 게임 개발 등 다양한 분야에서 활용됩니다.
| HTTP
HTTP는 클라이언트와 서버 간의 데이터 교환을 가능하게 하는 프로토콜입니다.
클라이언트가 웹 서버에 페이지나 이미지를 요청할 때 사용되고,
서버는 이 요청에 응답하여 필요한 데이터를 제공합니다.| HTTP 메서드(Method)
HTTP 프로토콜은 다양한 종류의 요청을 지원하기 위해 여러 메서드를 제공합니다.
각 메서드는 특정한 목적에 맞게 설계되었고, 주요 메서드는 다음과 같습니다.
GET: 서버로부터 데이터 조회 요청 ex) 웹페이지 접속, 정보 검색 POST: 데이터 생성 요청 ex) 회원가입, 글작성 PUT: 데이터 수정 ex) 회원 정보 수정 요청 DELETE: 데이터 삭제 요청 ex) 회원 정보 삭제
| HTTP 메서드 사용, 상태 코드
특정한 웹 사이트에 접속하면, 기본적으로 GET 방식으로 호출을 진행합니다.
또한 서버는 요청에 대한 응답으로 상태 코드를 반환하고 이 코드는 요청의 성공 실패 등의 정보를 제공합니다.
웹 사이트는 대개 HTML, JavaScript, CSS 코드를 반환하며 웹 브라우저는 이를 화면에 출력합니다.
| HTTP 상태 관리와 세션
HTTP는 상태를 저장하지 않는 Stateless 한 프로토콜입니다.
즉 이전 요청에 대한 정보를 기억하지 않으며, 각 요청을 독립적으로 처리합니다.
클라이언트는 HTTP로 서버에 연결 후 응답을 받으면 연결을 끊습니다.
이러면 서버 입장에서는 접속 유지에 대한 요구가 적어 불특정 다수를 대상으로 하는 서비스에는 적합할 수 있습니다.
이때 사용자의 상태를 관리하기 위해서는 세션(Session)을 이용하여 수행할 수 있고,
이를 통해 서버는 사용자의 로그인 상태, 장바구니 내용 등을 유지할 수 있습니다.| Keep Alive
HTTP프로토콜이 가지는 무 상태성으로 인해 발생할 수 있는 문제점을 개선하기 위해 고안된 기능 중 하나입니다.
HTTP/1.1부터 지원하는 기능으로 하나의 TCP 연결을 통해 여러 HTTP요청과 응답을 처리할 수 있습니다.
보통 하나의 웹사이트에 방문하면 대개 수십 개의 파일(HTML, CSS, JS, 이미지)을 제공합니다.
이러면 TCP 통신 과정에서 연결 수행/연결 해제 과정에서 리소스가 매우 많이 소요됩니다.
Keep Alive는 이런 파일을 하나씩 받기 위해 매번 연결을 맺고 끊는 것을 방지하며
효율적으로 다운로드하기 위해 사용됩니다.'얇게 공부한 CS' 카테고리의 다른 글
JWT(JSON Web Token) 란 (0) 2024.03.01 Oauth (0) 2024.02.27 REST API (0) 2024.02.25 명령어의 구조 (0) 2024.02.24 쿠키(Cookie)와 세션(Session) (0) 2024.02.23