-
CS : Network : HTTPComputer Science/Network 2021. 4. 20. 17:28728x90
HTTP (HyperText Transfer Protocol)
1.
하이퍼텍스트 문서를 교환하기 위해 사용되는 통신 규약이다.
웹 서버와 클라이언트 간 통신을 위한 통신 규약이다.
2.
웹에서만 사용하는 프로토콜이다.
TCP/IP 기반으로 서버와 클라이언트의 요청과 응답을 전송한다.
HTTP 특징 및 장단점
1. 특징
- TCP/IP를 이용하는 application layer 프로토콜이다.
- 즉, 인터넷을 이용하여 컴퓨터와 컴퓨터 간 데이터를 전송할 수 있도록 하는 하나의 '장치'이다.
- Connectionless : HTTP는 연결 상태를 유지하지 않는 '비연결성 프로토콜'이다.
- Stateless : 연결을 끊는 순간 클라이언트와 서버의 통신은 끝나고, 상태 정보는 유지되지 않는다.
- 비연결성 프로토콜이기 때문에 생기는 단점을 해결하기 위해 cookie와 session 개념이 등장했다.
2. 장점
- 불특정 다수를 대상으로 하는 서비스에 적합하다.
- 연결이 유지되지 않기 때문에, 최대 연결 수보다 훨씬 많은 요청과 응답을 처리할 수 있다.
3. 단점
- 연결을 끊어버리기 때문에, 이전 상태를 알 수 없다.
- 이러한 문제를 해결하기 위해 cookie와 session 개념이 등장했다.
HTTP 메시지 형식
1. HTTP 요청 메시지 형식
2. HTTP 응답 메시지 형식
HTTP 기본 속성 개념
1. 요청 method(메소드)
- 사용 이유 : 서버에게 요청의 종류를 알려주기 위해 사용
- 사용 목적
- GET : 정보 요청 (=SELECT)
- POST : 정보 삽입 (=INSERT)
- PUT : 정보 업데이트 (=UPDATE)
- DELETE : 정보 삭제 (=DELETE)
- HEAD : HTTP의 header만 요청
- OPTIONS : 웹 서버가 지원하는 메소드의 종류 요청
- TRACE : 클라이언트의 요청을 그대로 반환하는 메소드
2. 요청 URI
- 요청하는 자원의 식별자, 구분자 (:, // 등)
- 예 : (접근 프로토콜 명) :// (IP주소 또는 도메인 명) : (포트번호) / (자원경로) / (자원 명)
3. HTTP 프로토콜의 버전
- 웹 브라우저가 사용하는 프로토콜의 버전
4. 응답 상태 코드
- 요청의 성공 여부 (404 등)
5. 응답 메시지
- 상태 코드에 대한 이해를 돕기 위해 짧고 간결하게 상태 코드에 대한 설명을 글로 나타낸 것
728x90'Computer Science > Network' 카테고리의 다른 글
CS : Network : 쿠키(cookie), 세션(session) (0) 2021.04.20 CS : Network : HTTP 통신 vs Socket 통신 (0) 2021.04.20 CS : Network : OSI 7 Layer (0) 2021.04.20 CS : Network : TCP and UDP (0) 2021.04.20 CS : Network : HTTP 1.1 and 2.0 (0) 2021.04.11