Web 통신(HTTP, socket)

주빈·2022년 8월 17일
0

server

목록 보기
5/5

파이널 프로젝트 당시 1:1 채팅을 구현했었는데 상당히 어려움을 겪고 발표 당시엔 1:1채팅이 아닌 단체 채팅이 되어버렸었다...
이러한 일은 web 통신에 대해 잘몰랐기 때문에 발생했던 것 같다.
오늘은 web 통신에 대해 알아보자.

📘 Web 통신

일반적으로 클라이언트에서 필요로 하는 데이터들은 Server가 관리하게 된다.
클라이언트가 웹서버로 원하는 데이터요청을 보내고, 서버에서는 클라이언트가 요청한 데이터를 응답해주기 위해서는 크게 2가지의 통신 방법이 있다.
HTTP와 Socket 통신이다.

📜 HTTP 통신

✏ HTTP란?

  • HTTP란 Hypertext Transfer Protocol 이라 불리며 서버와 클라이언트가 인터넷 상에서 데이터를 주고 받기위한 프로토콜이다.

✏ HTTP 작동 방식

  • HTTP는 Server/Client 모델을 따른다.

장점

  • 불특정 다수를 대상으로 하는 서비스에는 적합하다.
  • 클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버 간의 최대 연결 수보다 훨씬 많은 요청과 응답을 처리할 수 있다.

단점

  • 연결을 끊어버리기 때문에, 클라이언트의 이전 상황을 알 수가 없다.
  • 위와 같은 특징을 무상태(Stateless)라고도 한다.
  • 이러한 특징때문에 정보를 유지하기 위해서 cookie와 같은 기술이 등장하게 되었다.

✏ HTTP 통신의 특징

  • Client가 요청을 보내는 경우에만 Server가 응답하는 단방향 통신이다.
  • Server로부터 응답을 받은 후에는 연결이 바로 종료가 된다.
  • 실시간 연결이 아닌 필요한 경우에만 Server로 요청을 보낼 때 유용하다.
  • 요청을 보내 Server의 응답을 기다리는 어플리케이션의 개발에 주로 사용된다.


[출처] https://medium.com/@lidiach217/web-%EA%B8%B0%EB%B3%B8%EA%B0%9C%EB%85%90-http-%ED%86%B5%EC%8B%A0-cf5f89906c8e

✏ HTTPS란??

  • HTTPS란 HTTP에 Secure이라는 보안이 강화된 것이라고 생각하면 된다.
  • 여기서 Secure에는 SSL(Secure Sockets Layer) 프로토콜을 이용하고, 클라이언트와 서버가 데이터를 주고 받는 통신 규약이다.

📜 Socket 통신

✏ Socket이란?

  • Server와 Client가 특정 Port를 통해 실시간으로 양방향 통신을 하는 방식이다.

✏ Socket 특징

  • HTTP와는 달리 Socket 통신은 Server 역시 Client로 요청을 보낼 수 있으며 계속 연결을 유지하는 연결지향성 통신이기 때문에 실시간 통신이 필요한 경우에 자주 사용된다.
  • 그렇기 때문에 실시간 동영상 Streaming이나 채팅 등과 같은 경우에 자주 사용이 된다.
profile
누구에게나 필요한 개발자가 꿈

0개의 댓글