HTTP 상태코드란?클라이언트가 서버로 요청을 보내면 그 요청의 처리 상태를 응답에서 알려주는 기능이다. 1XX 대는 요청이 수신되어 처리중이라는 뜻인데, 거의 사용되지 않는다. 2XX : 성공200 OK (정상)201 Created클라이언트가 요청한 것을 서버쪽에 리소스를 생성했댜는 의미이다.리소스의 경로를 응답 헤더의 Location에 담아준다.202 Accepted클라이언트의 요청이 접수는 되었으나 아직 처리가 완료되지 않았다는 의미이다.요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리하는 경우에 사용할 수 있다.자주 사용하는 코드는 아니다.204 No Content서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없다는 의미이다.웹 문서 편집기에서 내용을 저장할 때, ..
HTTP
클라이언트에서 서버로 데이터 전송데이터 전달 방식1. 쿼리 파라미터를 통한 데이터 전송GET사용 예시 : 주로 정렬 필터(=검색어) 2. 메시지 바디를 통한 데이터 전송POST, PUT, PATCH사용 예시 : 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 데이터 전달 상황1. 정적 데이터 조회사용 예시 : 이미지, 정적 텍스트 문서조회는 GET 사용사실 이 경우에는 클라이언트가 서버에게 추가적인 데이터를 전달할게 없고(쿼리 파라미터도 필요 없음), 단순하게 URI 경로만 넣으면 서버에서 해당 리소스를 클라이언트에게 내려준다.요청 메시지 예시응답 메시지 예시GET /static/star.jpg HTTP/1.1Host: localhost:8080HTTP/1.1 200 OKContent-Type: ..

HTTP API를 만들어보자(설계 예시)회원 정보와 관련된 CRUD 기능이 있는 API를 만들어야한다고 가정해보자. 회원 조회, 등록, 수정, 삭제에 대한 API URI를 설계해야하는데, 명명하는게 쉽지는 않다. API를 설계할 때 가장 중요한 것은 리소스 식별이다. 리소스를 기준으로 설계해야 한다. 이 때, 회원을 등록, 수정, 조회하는 것이 리소스가 아니라, 회원 이라는 개념 자체가 리소스이다. 회원이라는 리소스만 URI에 맵핑하고, 등록, 수정, 삭제와 같은 행위는 HTTP 메소드를 통해 명시한다. HTTP 메서드는 클라이언트가 서버에 뭔가 요청을 할 때 기대하는 행위라고 이해하면 된다. 행위 기준 설계리소스 기준 설계회원 목록 조회/read-member-list/membersGET회원 상세 조..
모든 것이 HTTP1. HTTP는 HyperText Transfer Protocol의 약자이다. 즉 html 문서를 전송하는 프로토콜로 시작되었는데, 현재는 이미지, 음성, 영상, 파일, JSON, XML 등 거의 모든 형태의 데이터를 HTTP 프로토콜에 담아 전송한다. 서버 간에 데이터를 주고받을 때에도 사용한다! TCP 위에서 HTTP 프로토콜이 동작하긴 하지만, TCP로 직접 연결해서 사용하는 경우는 게임 서버 등 특수한 경우가 아니면 없다. (심지어 모바일 게임은 HTTP로 통신하는 구조로 개발하기도 한다.) 2. HTTP 역사HTTP/0.9 : GET 메소드만 지원 (HTTP 헤더 없음)HTTP/1.0 : 메소드, 헤더 추가HTTP/1.1 : 현재 가장 많이 사용하는 버전(1.1 스펙에 대부분의..
URI (Uniform Resource Identifier)URI를 직역하면 리소스를 식별하는 통합된 방법이라는 뜻이다. 1. URI와 비슷한 개념URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. (두개를 모두 포함하는 개념)URL (Resource Locator) : 리소스의 위치(주소)를 지정URN (Resource Name) : 리소스의 이름 그자체 (위치는 변할 수 있지만 이름은 변하지 않는다.)이름을 넣으면 결과가 나오도록 맵핑되어있어야 하는데 어렵다. 사실상 잘 쓰지 않는다.URN을 잘 쓰지 않기 때문에 보통 URI라고 해도 URL을 지칭하는 경우가 많다! 2. URI 단어 뜻Uniform : 리소스를 식별하는 통일된 방식Resource : 자원, URI..

웹이나 HTTP 모두 인터넷 네트워크 기반에서 동작하기 때문에 네트워크 개념을 알고 가는 것이 좋다! 인터넷상에서 컴퓨터 둘은 어떻게 통신할까?인터넷 망은 단순하지 않다. 수많은 중간 노드 서버를 거쳐서 내가 원하는 목표 지점까지 메시지가 안전하게 넘어가야하는데, 어떤 규칙으로 어떻게 넘어갈까? 이 것을 이해하려면 ip 프로토콜을 알아야한다. IP (인터넷 프로토콜)1. 인터넷 프로토콜 역할지정한 IP 주소에 데이터 전달패킷이라는 통신 단위로 데이터 전달2. IP 패킷 정보출발지 IP, 목적지 IP 등패킷이 출발지에서 목적지까지 바로 이동하는 것이 아니라, 중간 노드들을 거쳐서 이동하게 된다.두 대의 컴퓨터가 서로 패킷을 전달할 때, 거쳐가는 중간 노드들이 일정하지는 않다. 다른 경로로 전달할 수 도 ..