네트워크6 Go 에서 HTTP client 를 작성할 때 주의할 점 go 에서 제공하는 http 관련 패키지(net/http)를 이용해서 코드를 작성할 때 주의해야할 점이 있다. go 에서는 아래와 같이 client 객체가 구성되어 있고, 기본으로 사용되는 DefaultClient 는 단순히 해당 객체를 반환한 값이다. type Client struct { // Transport specifies the mechanism by which individual // HTTP requests are made. // If nil, DefaultTransport is used. Transport RoundTripper // CheckRedirect specifies the policy for handling redirects. // If CheckRedirect is not .. 2024. 4. 12. HTTP 에 대해서 서버나 클라이언트나 인터넷을 통한 어떤것을 하더라도 접할 수 있는 것이 HTTP 다. 그런데 실제로 HTTP 에 대해서 공부하려고 하면 너무 양도 방대 하고 어디서 부터 어떻게 봐야할지 막막하다. 그래서 이 글에서는 HTTP 에 관해 그때 그때 생기는 궁금증을 위주로 정리해 보려고 한다. HTTP 는 왜 필요 하나? HTTP는 Hyper Text Transfer Protocol 의 약자로 서버와 클라이언트 간의 웹 통신에 주로 사용됩니다. HTTP 는 OSI 7 계층 중 어플리케이션 계층에 속하고, TCP/IP 위에서 동작합니다. 우리는 평소에 이러한 HTTP 통신을 이용해 서버에서 주는 텍스트 들을 전달 받아서 웹 페이지를 로딩할 수 있습니다. HTTPS 는 뭔가 기본적인 HTTP 통신은 단순히 평문 .. 2024. 4. 11. RPC? gRPC? 에 대해서 알아보자 -(2) 이전 글에서 RPC 에 대해서 간단하게 살펴보았습니다. 이번 글에서는 RPC 를 기반으로한 gRPC 에 대해서 알아보도록 하겠습니다. RPC? gRPC? 에 대해서 알아보자 -(1) 요즘 컨테이너 환경에서 서버를 구축하거나 운영하려고 할때 통신 방식으로 gRPC 라고 하는 것을 종종 접한적이 있을것입니다. 이 gRPC 라고 하는것은 무엇일까요? 그리고 기존의 http 와 어떤 관계 hayz.tistory.com gRPC 란? gRPC 는 원격 서버에 정의된 프로세스를 로컬에서 호출하는 것 처럼 쉽게 클라이언트에서 호출하고 운영하고 디버깅할 수 있는 프로세스 간의 통신 기술 입니다. gRPC 는 google 에서 만든 RPC 로, gRPC 의 g는 릴리즈 마다 다른 의미를 가지고 있습니다. 그러면 기존의 .. 2022. 3. 6. RPC? gRPC? 에 대해서 알아보자 -(1) 요즘 컨테이너 환경에서 서버를 구축하거나 운영하려고 할때 통신 방식으로 gRPC 라고 하는 것을 종종 접한적이 있을것입니다. 이 gRPC 라고 하는것은 무엇일까요? 그리고 기존의 http 와 어떤 관계가 있고 REST API 와 어떤 차이가 있을까요?! 우선 gRPC 에 대해서 자세히 알아보기 전에 그 기반이 되는 RPC 에 대해서 먼저 알아가보도록 하겠습니다. RPC 란? RPC 는 Remote Procedure Call 의 약자로, 해석하자면 원격 프로시저 호출이라는 뜻입니다. 먼저 원격 프로시저 호출 이라는게 어떤것을 의미하는지 알아보겠습니다. 우리는 프로그램을 구현하고 실행할때 당연하게 하나의 프로그램안에 내가 실행하고자 하는 함수를 구현하고 호출하는 일련의 과정을 생각합니다. 하지만, RPC 를.. 2022. 2. 13. 이전 1 2 다음