HTTP(HyperText Transfer Protocol)
텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜
- HTML, TEXT
- IMAGE, 음성, 영상, 파일
- JSON, XML
- 거의 모든 형태의 데이터 전송 가능
- 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용
특징
1) 클라이언트 서버 구조
- Request, Response 구조
- 클라이언트는 서버에 요청을 보내고, 응답을 대기
- 서버가 요청에 대한 결과를 만들어서 응답
2) 무상태 프로토콜
- 서버가 클라이언트의 상태를 보존하지 않음
- 장점 : 서버 확장성이 높음(응답 서버를 쉽게 바꿀 수 있음)
- 단점 : 클라이언트가 추가 데이터 전송
- Stateful, Stateless의 차이는 서버가 클라이언트의 상태 보존 유무
3) 비연결성
- https는 기본이 연결을 유지하지 않는 모델
- 일반적으로 초 단위 이하의 빠른 속도로 응답
- 서버 자원을 매우 효율적으로 사용할 수 있음
- 단점
- TCP/ID 연결을 새로 맺어야 함 -> 3 Way Handshake 시간 추가
- 웹 브라우저로 사이트를 요청하면 HTML 뿐 아니라 이미지 등 수많은 자원이 함께 다운
- 현재는 http 지속 연결로 문제 해결