BE/HTTP

[HTTP] HTTP란 ? (특징,구조,메시지)

mandelina 2022. 5. 28. 20:08

 

모든것은 HTTP 이다.

 

 

✔️ HTTP (Hyper Text Transfer Protocol)

 

- 모든것을 전송할 수 있다

 

- 이미지, 음성 ,영상 ,파일

 

- JSON , XML

 

- 서버간 데이터 주고 받을 때도 대부분 HTTP 사용

 

- HTTP/1.1 : 가장 많이 사용

 

 

✔️ HTTP 특징

 

1 ) 클라이언트 서버 구조

 

2 ) 무상태 프로토콜 (Stateless) , 비연결성

 

3 ) HTTP 메시지를 이용하여 통신한다.

 

4 )  단순하고 , 확장가능하다.

 

 


 

HTTP 특징들 

 

1 )  클라이언트 서버 구조

 

- 클라이언트는 서버에 요청을 보내고 응답을 대기한다.

 

- 서버가 요청에 대한 결과를 만들어 응답한다.

 

- Request Response 구조

 

- 서버와 클라이언트는 서로 독립적 

 


 

 

2 ) 무상태 프로토콜 (Stateless) , 비연결성

 

 

무상태 프로토콜 (Stateless)

 

  - 서버가 클라이언트의 상태를 보존하지 않는다. 

 

  ▷ 즉, 응답 서버를 쉽게 바꿀수 있기때문에 무한한 서버 증설이 가능하다.

 

ex ) 이벤트 페이지 등 . . .

 

 

- 하지만 로그인같이 상태를 유지해야하는 서버에는 한계가 있다 .
- 이 경우 쿠키와 세션을 사용하여 상태를 유지한다.
- 상태유지는 최소한만 사용한다.

 

 

비연결성

 

- HTTP는 기본이 연결을 유지하지 않는 모델이다.

 

- 서버는 연결을 유지하지 않고 최소한의 자원만 사용한다.

  (1시간 동안 10000명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십게 이하)

 

- 서버 자원을 매우 효율적으로 사용할 수 있다 .

 

 

 

 

비연결성의 한계점 

 

- TCP/IP 연결을 새로 맺어야 한다.  (3 way handshake 시간이 추가됨)

 

- 웹 브라우저로 사이트를 요청하면  HTML,CSS,이미지 등을 다시 다운받아야한다 .

 

HTTP 지속 연결로 문제를 해결한다. 

 

 


 

 

 

3 ) HTTP 메시지를 이용하여 통신한다.

 

- 요청메시지와 응답메시지의 구조가 다르다.

 

 

출처 : 모든 개발자들을 위한 HTTP 웹기초 / 김영한님 자료중

 

[참고] HTTP 요청 메서드

 

GET  : 리소스 조회

POST  : 요청 내역 처리

 

 

 

출처 : 모든 개발자들을 위한 HTTP 웹기초 / 김영한님 자료중

 

 

[참고] HTTP 상태코드

 

200 : 성공

400 : 클라이언트 요청 오류

500 : 서버 내부 오류