HTTP 4

[Go/Golang] Go의 HTTP & REST Client 라이브러리 - Resty

Go의 HTTP & REST Client 라이브러리 - Resty API Client 이전 포스팅에서 다뤘던 Echo는 Go의 Web Framework입니다. Echo로 구현한 프로그램은 API Server 등으로 동작할 수 있고, 큰 어려움 없이 Web Server로 사용할 수도 있습니다. 하지만 프로그램이 API Server가 아닌 API Client로 동작해야 한다면 어떨까요? API Client는 API Server에 Request를 보내는 주체로 Echo와는 정반대의 기능을 수행해야 합니다. 이런 기능을 Go에서 사용할 수 있도록 구현해놓은 패키지가 있습니다. 바로 Resty 입니다. Resty Resty는 Ruby의 rest-client에서 영감을 받아 시작된 Go의 HTTP & REST Cl..

IT/Go 2021.03.10

[Network] Application Layer (애플리케이션 계층) - 2.2 웹 애플리케이션 정리 2.2.5 Web Caching (웹 캐싱)

2.2.5 Web CachingProxy server라고도 불리는 Web cache는 원본 Web server를 대신해서 HTTP request를 처리하는 network entity이다. Web cache는 그 자체로 디스크 저장 공간을 가지고 있으며, 최근에 요청된 객체들의 복사본을 저장하고 있다. 일화를 예로 들어 보면 다음과 같다. 1) 브라우저가 TCP 연결을 Web cache와 만들고, Web cache로 HTTP Request Message를 보내 객체를 요청한다. 2) Web cache는 그 객체를 보관하고 있는지 확인하고, 존재하면, HTTP Response Message에 담아 클라이언트 브라우저로 전송한다. 3) 만약 존재하지 않는다면, Web cache는 원본 서버와 TCP 연결을 생..

IT/Network 2018.01.08

[Network] Application Layer (애플리케이션 계층) - 2.2 웹 애플리케이션 정리 2.2.4 Cookie (쿠키)

2.2.4 User-Server Interaction: CookiesHTTP Server는 Stateless (상태가 없다)이다. 이는 동시에 수천의 TCP 연결을 처리할 수 있는 웹 서버를 디자인하는 것을 쉽게 해준다. 그러나 종종 웹 사이트가 사용자를 인지하고 있을 필요가 있다. • 서버가 사용자의 접근 권한을 제어해야 할 때. • 서버가 사용자에 따른 맞춤 서비스를 제공해야 할 때. 이러한 목적으로 HTTP는 "Cookies"를 사용한다. [RFC 6265]Cookie는 4 개의 요소로 구성된다. 1) HTTP Response Message의 'cookie header line' 2) HTTP Request Message의 'cookie header line' 3) 유저의 end system과 유저..

IT/Network 2018.01.07

[Network] Application Layer (애플리케이션 계층) - 2.2 웹 애플리케이션 정리

2.2 The Web and HTTP웹이 사용자들에게 주는 가장 큰 호감은 On-demand 방식으로 동작하는 점이다.2.2.1 Overview of HTTPHyperText Transfer Protocol (HTTP) 는 웹 애플리케이션 계층 프로토콜이며, 웹의 중심이다. ([RFC 1945], [RFC 2616] 참조) HTTP는 'Client Program'과 'Server Program' 두 가지로 구현된다. 서로 다른 End System에서 수행되는 두 프로그램은 HTTP Messages 를 교환하여 통신한다. HTTP는 메시지의 구조, 클라이언트와 서버가 메시지를 교환하는 방법을 정의한다.• Web page (aka document) 는 object(객체)들로 구성된다.○ Object는 하나의..

IT/Network 2018.01.06