[HTTP]백엔드공부를 위한 첫걸음


1️⃣ NodeJs를 공부하는 이유

  • 먼저 백엔드에는 php, 파이썬, 자바, nodeJs등등 다양한 언어들이 있지만 저는 javascript도 더 깊게 공부할겸 nodeJs첫 백엔드언어로 선택하였습니다. (솔직히 스프링은 공부내용이 너무 많아서 첫백엔드언어로 접근하기가 무서운 것이 첫번째이유..)
  • 하지만 각각의 언어마다 성격이 다르고(nodeJs는 싱글쓰레드 + 비동기, Java(spring)은 멀티쓰레드), 이에 따라 각각의 언어마다 장단점이 존재하는 것 같습니다. (개인적인 생각이지만 nodeJs는 영상관련, Java(spring)는 전산처리(복잡한 계산)에 유리할 것 같다.)
  • 결국 어떤언어를 선택하든 깊게는 아니더라도 어는정도 다른언어에 대해 알고있어야 된다고 생각합니다. (언젠가는 자바(spring)을 공부해야될텐데…)

2️⃣ HTTP를 공부하는 이유

  • 프론트엔드이던 백엔드이던간에 결국에 클라이언트에게 서비스를 제공하기 위해 일을 합니다.
  • 그렇기 때문에 기술을 배우기에 앞서서 어떤식으로 클라이언트들과 정보를 교환하면서 서비스를 제공하는지를 알아야합니다.
  • 기본적으로 IP(internet protocol)를 이용하여 통신을 하지만 각각의 ip만으로는 정확한 위치를 알기 힘들기(같은 ip를 라우터를 이용하여 여러가지 전자기기통신에 포트를 지정하여 사용할 수 있게함)때문에 TCP / UDP로 정확한 목적지포트알도록 했습니다.
  • 하지만 또다른 문제가 있는데 서버 입장에서 클라이언트1대1로 대응하는 것은 너무 비효율적입니다. 그래서 한 서버에서 여러클라이언트를 대응하도록 설계하게 됩니다. (클라이언트에 대응되는 서버도 바뀔 수 있음)
  • 이렇게 설계되기 위해서는 서버클라이언의 정보를 가지고 있는 것보다 클라이언서버에게 필요한 정보를 주는 것이 좋습니다. 이러한 정보를 담고있는 것이 HTTP입니다.
  • 특히 백엔드에서는 이러한 HTTP용어와 문법에 직접적으로 접근하여 사용할 것입니다. 그래서 백엔드언어를 배우기에 앞서서 HTTP를 공부하게 됐습니다. (it관련 좋은글과 영상, 로드맵이 많기 때문에 이러한 선택을 할 수 있었던 것같습니다. 아마 몇년전에 백엔드공부를 시작했더라면 http개념도 모른채 시작했을 것 같습니다.)

3️⃣ HTTP공부 추천책 및 영상

(1) 그림으로 배우는 Http & Network Basic

  • 나온지 꽤 오래된 책인데도 불구하고 읽어봐도 괜찮을 책 (그만큼 HTTP가 꽤 합리적으로 만들어졌다는 뜻인 것 같다.)
http book
  • 지은이: 우에노 센
  • 옮긴이: 이병억
  • 출판사: 영진.com

(2) HTTP강의

  • 누구나 아는 우아한형제들(배민) 김영한님께서 만든 강의입니다.
  • 위에서 추천한 책과 전체적인 내용흐름은 같지만 실무 경험을 덧붙여서 설명해주시고 무엇보다 초보자들도 이해하기 쉽게 설명해주십니다.
  • 인프런김영한님이 만든 spring강의도 있는데 순간 NodeJs버리고 Spring첫 백엔드언어로 선택할까 고민했습니다..

👉🏻👉🏻👉🏻 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한

4️⃣ 결론

  • 프론트엔드, 백엔드 모두 HTTP를 꼭 공부하자




© 2021.02. by kirim

Powered by kkrim