본문 바로가기

기타

(5)
[HTTP]HTTP 상태코드 클라이언트가 HTTP 메서드로 요청을 보낼 경우에 서버 쪽에서는 그에 대한 처리 상태에 대한 응답을 각각의 코드에 맞게 돌려준다. 1xx(Informational) : 요청이 수신되어 처리 중 2xx(Successful) : 요청 정상 처리 3xx(Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx(Clent Error) : 클라이언트 오류 5xx(Server Error) : 서버 오류 그럼 각각의 상태코드에 대해 자세히 알아보자 1xx(Informational) 거의 사용하지 않는다. 2xx(Successful) 200 : OK, 요청 성공 201 : Created, 요청 성공해서 새로운 리소스 생성 -> 생성된 리소스는 응답의 Location 헤더 필드로 식별 202 : Accept..
[HTTP]HTTP 메서드 API URI를 설계함에 있어서 가장 중요한 것은 리소스 식별이다. 여기서 리소스에 대해서 간략하게 알아보자면 회원을 등록/수정/조회/삭제하는 API를 개발할 때 등록/수정/조회/삭제를 하는 주체가 되는 회원이 리소스이다. 이러한 리소스를 이용해 URI를 설계를 하게 되면 리소스를 URI에 매핑을 해주고 리소스와 해당 리소스를 대상으로 하는 행위를 분리시킨다. 리소스 : 회원 행위 : 등록, 수정, 조회, 삭제 등등 이제부터는 리소스를 이용한 HTTP 메서드 종류들을 알아보도록 하자 GET 리소스를 조회 서버에 전달하고자 하는 데이터는 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많기에 권장하진 않는다. POST 요청 데이..
[HTTP]HTTP의 정의, 특징 및 메시지의 구조 HTTP란? Hyper Text Transfer Protocol의 약자로 문서 간의 링크를 전송하는 프로토콜이다. HTTP 메시지에 HTML, TEXT, 이미지, 음성, 영상, 파일, JSON, XML 등등 거의 모든 형태의 데이터가 전송 가능하며 서버 간에 데이터를 주고받을 때도 대부분 HTTP를 사용한다. 현재 가장 많이 사용하는 HTTP/1.1과 HTTP/2 버전은 TCP를 기반으로 하며 HTTP/3은 성능 개선과 함께 UDP를 기반으로 사용한다. HTTP 특징 클라이언트 서버 구조 Request, Response 구조 클라이언트는 서버에 요청을 보내고 응답을 대기하고, 서버가 요청에 대한 결과를 만들어서 응답을 보낸다. 무상태 프로토콜 서버가 클라이언트의 상태를 보존하지 않는다. 장점 : 서버 확..
[HTTP]URI URL URN URI URI는 Uniform Resource Identifier의 약자로 리소스를 식별하는 통합된 방법이라는 뜻을 갖는다. 여기서 리소스를 식별하는 것은 사람들 개개인을 주민번호로 식별하듯이 자원을 식별하는 것이다. URI는 로케이터(Locator), 이름(Name) 또는 둘 다 추가로 분류될 수 있는데 이것들을 각각 URL, URN이라고 하며, URL, URN은 URI에 속하는 부분집합이라고 볼 수 있다. URL URL은 Uniform Resource Locator의 약자로 리소스가 있는 위치를 지정해 준다. 위치 즉 URL은 변할 수가 있다. url의 문법 scheme://[userinfo@]host[:port][/path][?query][#fragment] - scheme : 주로 프로토콜(어떤 ..
[Lombok] IntelliJ Lombok 설치, 설정 Lombok이란? Java의 라이브러리로 반복되는 메서드를 Annotation을 사용해서 자동으로 작성해 주는 라이브러리다. ex) getter, setter, toString 등등 아래 이미지를 통해서 Lombok 라이브러리를 IntelliJ에서 추가하는 방법을 알아보도록 하자 * 필자는 현재 PC가 ios 운영체제이므로 ios환경으로 예시를 들어보겠다. Lombok 라이브러리 추가 과정 1. Lombok 라이브러리 추가 gradle dependencies { ... // lombok 라이브러리 추가 시작 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' ... } maven ... org.proje..