본문 바로가기

Infrastructure/Network

(22)
[HTTP] 메서드 - 2 (종류) HTTP 메소드의 종류와 역할을 알아본다. 아래는 주요 메서드 목록과 간략한 설명이다. GET: 리소스 조회 POST: 요청 데이터 처리, 주로 등록에 사용 PUT: 리소스를 대체, 해당 리소스가 없으면 생성 PATCH: 리소스 부분 변경 DELETE: 리소스 삭제 아래는 기타 메서드 목록과 간략한 설명이다. 기타 메서드들에 대해서는 간략하게만 알아보고 넘어간다. HEAD: GET과 동일 하지만 메시지 부분을 제외하고 샹태 줄과 헤더만 반환 OPTIONS: 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용) CONNECT: 대상 자원으로 식별되는 서버에 대한 터널을 설정 TRACE: 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행 주요 메서드들에 대해서 하나씩 자세하..
[HTTP] 메서드 - 1 (API URI 설계) 좋은 API URL 설계에 대해서 알아본다. 먼저 Car라는 리소스에 대해서 URL을 설계해보자. 회원 목록 조회: /read-car-list 회원 조회: /read-car-by-id 회원 등록: /create-car 회원 수정: /update-car 회원 삭제: /delete-car 과연 위의 설계가 좋은 설계일까? 결론은 그렇지않다. 아주 좋지 못한 설계다. 이유는 URL(Uniform Resource Identifier)의 의미를 다시 한 번 생각해보면 알 수 있다. 우리가 집중해야할 것은 car라는 리소스다. create(생성), update(수정)이 아니라는 뜻이다. 그러므로 우리는 URL에 리소스가 아닌 정보를 포함하면 안된다.(물론 100% 사용하지 않고 개발 할 수는 없다.) 그러면 HTT..
[HTTP] 메시지 구조 HTTP 메시지의 구조에 대해서 알아본다. HTTP 메시지 구조는 아래와 같은 규칙을 가진다. start-line 시작 라인 header 헤더 empty line 공백 라인 (CRLF) message body 구체적으로 HTTP 응답 메시지의 구조에 대해서 알아보자. 공식 스펙(https://datatracker.ietf.org/doc/html/rfc7230#section-3)에 나와있는 규칙과 규칙을 따르는 예시다. 공식 스펙 HTTP-message = start-line *( header-field CRLF ) CRLF [ message-body ] 예시 HTTP 요청 메시지 GET /ranking/read?oid=112&aid=0003447803 HTTP/1.1 Host: www.entertain...
[HTTP] 기본 HTTP 프로토콜에 대해서 알아본다 HTTP(Hyper Text Transfer Protocol) W3(www, world wide web)상에서 정보를 주고받을 수 있는 프로토콜. 주로 HTML 문서를 주고받는 데에 사용되었으나 최근에는 HTTP 메시지에 모든 것을 전송하고 있다. HTTP 역사 HTTP/0.9 1991년: GET 메서드만 지원, 서버로부터의 응답은 무조건 HTML문서였다. HTTP/1.0 1996년: 메소드와 헤더 필드를 통한 효율적인 보안 프로토콜로 업데이트 되었다. HTTP/1.1 1997년: 가장 많이 보편화되어 있는 버전이다. 이후의 버전들은 1.1버전에서 성능만 개선되었으므로 가장 중요한 버전으로 불린다. RFC2068(1997) -> RFC2616(1999) -> RFC72..
[URI] URI와 WebBrowser URI가 무엇인지 또 어떤 종류가 있는지 알아본다. WebBrowser가 URI를 통해서 어떤 방식으로 통신하는지 알아본다. URI(Uniform Resource Identifier, 통합 자원 식별자) 우편물의 주소같은 역할을 하며 정보 리소스를 고유하게 식별하고 위치를 지정할 수 있다. URI는 URL, URN 두 가지의 형태가 있다. URL(Uniform Resource Locator, 통합 자원 지시자) 서버의 한 리소스에 대한 구체적인 위치를 표현한다. URL은 리소스의 정확한 위치와 접근 가능 유무를 알려준다. 일반적으로 많이 접하는 google.com, naver.com이 URL이다. URN(Uniform Resource name, 통합 자원 이름) 서버의 한 리소스에 대해 고유한 이름을 부..
[Protocol] 인터넷 통신 HTTP를 알아보기전에 인터넷 통신에 대해서 알아본다. 목차는 아래와 같다. IP(Internet Protocol) TCP, UDP PORT DNS IP (인터넷 프로토콜 역할) 인터넷 통신을 하기 위한 모든 노드(클라이언트, 서버...)들은 자신만의 고유한 IP 주소를 가지고 있다. 이러한 IP의 역할을 아래와 같다 지정한 IP 주소(IP Address)에 데이터를 전달한다. 패킷(Packet)이라는 통신 단위로 데이터를 전달한다. IP 패킷에는 대표적으로 출발지 IP, 목적지 IP, 전송 데이터로 이루어져 데이터를 전달할 때 패킷에 명시되어 있는 목적지 IP 주소로 데이터가 전달된다. 하지만 이러한 IP 프로토콜에도 아래와 같은 한계점이 있다. 비연결성 비신뢰성 프로그램 구분 불가 하나씩 무엇을 뜻하..