33학년
478
2020-04-08 13:21:46
1
142

프락시 같은거는 웹개발자가 다루나요? 다른사람이 다루나요?


최근에 프레임워크 공부보다는 기본을 먼저 알아야 할 것 같아서 http 완벽가이드라는 책을 읽었습니다.

이 책에는 http통신은 물론이고 프락시 같은것도 설명을 해주는데 읽다보니 궁금한점이 몇가지 있어 질문드립니다.

1. 프레임워크를 배울 때 프락시에 대해 다루는 것은 본적이 없는데 백엔드 개발자는 프락시를 다룰 일이 없나요?


2. 제가 듀토리얼 수준정도밖에 프레임워크를 공부해서 그런지는 몰라도 사실 책에 나오는 캐시, 콘텐츠 인코딩 같은것도 본적이 없는데 이부분도 백엔드 개발자가 다루나요?


3. 책을 읽다보니 tcp/ip 통신 쪽에도 관심이 가는데 이런걸 소켓프로그래밍이라고 하는 것 같던데

이 부분도 공부하는게 좋나요? 아님 이것보다 백엔드 개발자에게 중요한 지식이 뭐가 있을까요?


4. 그 밖의 좋은 백엔드 개발자가 되기 위해 필요한 지식이 뭐가 잇나요? (자료구조는 이미 공부하고있으니 빼구요)


0
  • 답변 1

  • esrse
    888
    2020-04-09 11:57:41

    백엔드 개발자가 다루는 프록시는 보통 reverse proxy입니다.

    reverse proxy는 웹서버 앞단에 nginx를 두는 게 일반적입니다.

    reverse proxy는 부하분산, 외부 공격 대응, 비정상적인 연결 대응, keep alive 커넥션 관리 등을 해줍니다.

    보통 웹 프레임워크가 제공하는 웹서버는 nginx에 비해서는 보안성, 안정성이 떨어집니다. 그래서 웹프레임워크를 외부로 직접 노출시키는 건 지양하고 그 앞에 nginx를 두는 것입니다.

    네. 백엔드 개발자가 프록시 서버를 다룰 필요가 있습니다.


    캐시는 서비스의 성능을 올리기 위해서 사용합니다. 서비스가 인기가 없어서 쓰는 사람도 별로 없으면 성능은 신경쓸 필요 없습니다. 그러나 서비스가 인기 많아서 서비스의 응답 시간을 10ms 단위로 줄이는 게 중요해지면 캐시도 알아야 합니다.

    콘텐츠 인코딩에 대해서는 압축을 하냐 마냐 정도만 관심이 있습니다.


    좋은 개발자가 되고 싶다면 tcp/ip에 대해서 알아야 합니다. 서비스가 네트워크 에러가 나고 있을 때, 소켓에 대해서 모르면 원인을 알 수 없습니다. 훌륭한 개발자가 되는 것에 별 관심 없으면 안 배워도 됩니다.


    백엔드 개발자라면 운영체제에 대해서 많이 알면 알수록 도움이 됩니다.

  • 로그인을 하시면 답변 을 등록할 수 있습니다.