EverGiver
HTTP 본문
728x90
HTTP(HyperText Transfer Protocol) 란?
- W3 상에서 정보를 주고받을 수 있는 프로토콜이다.
- 주로 HTML 문서를 주고받는 데에 쓰인다.
- 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다.
- TCP(전송 제어 프로토콜, Transmission Control Protocol)
▷ 인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로도 널리 불린다.
▷ 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있게 한다.
▷ 전속 계층에 위치한다.
- UDP (사용자 데이터그램 프로토콜, User Datagram Protocol)
▷ 인터넷 프로토콜 스위트(IP)의 주요 프로토콜 가운데 하나이다.
▷ TCP와 함께 데이터그램으로 알려진 단문 메시지를 교환하기 위해서 사용된다. - HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다.
- HTML 문서만이 HTTP 통신을 위한 유일한 정보 문서는 아니다. Plain text로 부터 JSON 데이터 및 XML과 같은 형태의 정보도 주고받을 수 있으며, 보통은 클라이언트가 어떤 정보를 HTML 형태로 받고 싶은지, JSON 형태로 받고 싶은지 명시해주는 경우가 많다.
HTTP 동작
- 클라이언트
- 서버에게 요청을 보내는 리소스 사용자
- ex) 웹 브라우저, 모바일 애플리케이션 등 - 서버
- 클라이언트에게 요청에 대한 응답을 제공하는 리소스 관리자 - 클라이언트(사용자)가 브라우저를 통해서 어떠한 서비스를 url을 통하거나 다른 것을 통해서 요청(request)을 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답(response)하는 형태로 동작한다.
- 요청 : client → server
응답 : server → client
Request (요청)
- 클라이언트가 서버에게 연락하는 것을 요청이라고 하며 요청을 보낼때는 요청에 대한 정보를 담아 서버로 보낸다.
- Request Method (요청의 종류)
- GET : 자료를 요청할 때 사용
- POST : 자료를 생성을 요청할 때 사용
- PUT : 자료의 수정을 요청할 때 사용
- DELETE : 자료의 삭제를 요청할 때 사용
- Request HTTP 메시지
1. 시작줄 (첫 줄)
- 메서드 구조 버전으로 구성
2. 헤더 (두 번째 줄부터)
- 요청에 대한 정보를 담고 있다.
- User-Agent, Upgrade-Insecure-Requests 등이 존재한다.
3. 본문 (헤더에서 한 줄 띄고)
- 요청할 때 함께 보낼 데이터를 담는 부분이다.
Response(응답)
- 서버가 요청에 대한 답변을 클라이언트에게 보내는 것이다.
- Status Code (상태 코드)
- 1XX (조건부 응답) : 요청을 받았으며 작업을 계속한다.
- 2XX (성공) : 클라이언트가 요청한 동작을 수신하여 이해했고 승낙했으며 성공적으로 처리했음을 가리킨다.
- 3XX (리다이렉션 완료) : 클라이언트는 요청을 마치기 위해 추가 동작을 취해야 한다.
- 4XX (요청 오류) : 클라이언트에 오류가 있음을 나타낸다.
- 5XX (서버 오류) : 서버가 유효한 요청을 명백하게 수행하지 못했음을 나타낸다.
- Response HTTP 메시지
1. 시작 줄 (첫 줄)
- 버전 상태 코드 상태 메시지로 구성된다.
2. 헤더 (두 번째 줄부터)
- 응답에 대한 정보를 담는다.
3. 본문 (헤더 뒤부터)
- 요청한 데이터를 담아서 보내준다.
- HTML이 담겨 있는데 이 HTML을 통해 브라우저가 화면에 렌더링 한다.
728x90
'전공 > 클라우드융합' 카테고리의 다른 글
오픈스택 기초 (0) | 2022.03.13 |
---|---|
Virtualization (가상화) (0) | 2022.03.06 |
Comments