목록분류 전체보기 (248)
S E P H ' S
Annotation 어노테이션은 Spring에서 많이 사용되기는 하지만 Java 자체 기술이다. 스프링을 사용하면서 자연스럽게 많이 사용하거나 심지어는 그냥 그러려니 하고 지나가지만 동작 원리에 대해서는 제대로 생각해보지 않았던 사람들이 많을 것이다. (나도 마찬가지..) 어노테이션은 사전적의미로는 주석이라는 뜻이다. 자바에서 사용될 때 어노테이션은 코드 사이에 주석처럼 쓰여서 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에 추가적인 정보를 제공해주는 메타데이터(데이터를 위한 데이터)라고 볼 수 있다. 어노테이션에 대한 자세한 설명은 [Java] 6. Annotation 에서 확인할 수 있다. Spring의 대표적인 Annotation과 역할 @Component 개발자가 생성한 클래스를 ..
HTTP 헤더 header-field = field-name":"OWS field-value OWS HTTP 전송에 필요한 모든 부가정보를 담는 용도로 사용된다. 스펙에 정의된 헤더 뿐 아니라 임의의 헤더 추가도 가능하다. 표현(Representation) 과거 RFC2616 스펙에서는 엔티티 헤더, 엔티티 본문 등으로 불리던 HTTP 헤더와 바디는 2014년부터 개정된 RFC2730 ~ 7235 부터는 표현(Representation) 이라는 용어로 불리게 되었다. HTTP 헤더는 표현 헤더, HTTP Message Body는 표현 데이터라 부른다. 표현 헤더 전송, 응답 양측에서 사용이 가능한 정보로 서버/클라이언트 간에 송/수신할 때 해당 정보로 무엇을 어떻게 표현할지에 대해 알려주고 표현한다. 이..
API URL 설계 시 포인트 URL 설계 시 가장 중요한 것은 리소스 식별이다. 리소스란 ? 동작을 제외한 자원 그 자체를 리소스라한다. 회원 등록 시스템을 예로 들면, 회원을 등록하거나 수정 혹은 삭제하는 행위는 리소스가 아니다. 오직 회원이라는 개념만이 리소스라 할 수 있다. 리소스 기반의 회원 관리 URL 설계 동작은 HTTP 메소드로 구분한다. (Ex: GET, POST, PUT, PATCH, DELETE, ...) 회원 목록 조회 : GET /members 회원 조회 : GET /members/{id} 회원 등록 : POST /members 회원 수정 : PUT /members/{id} 회원 삭제 : DELETE /members/{id} HTTP 메소드 GET 리소스 조회에 사용. 서버에 전달..
HTTP(Hyper Text Transfer Protocol) 처음에는 문서간 링크를 통해 연결할 수 있는 프로토콜로 사용했지만 현재는 모든 것을 전송한다. HTML, TEXT IMAGE, Media, File JSON, XML ETC 기반 프로토콜 TCP : HTTP/1.1, HTTP/2 는 TCP 기반이다. UDP : HTTP/3 현재는 대부분 HTTP/1.1을 사용하는데, HTTP/2, HTTP/3도 점차 증가하고 있다. TCP 통신은 3 way handshake 때문에 신뢰성과 연결성은 보장하지만, 이 과정에 걸리는 시간만큼 속도가 떨어질 수 밖에 없다. 그렇기에 HTTP/3에서는 UDP 프로토콜을 애플리케이션 레벨에서 재설계를 해서 속도를 높혔다. 특징 1. 클라이언트 서버 구조 클라이언트는 요..