Cute Happy Ghost
본문 바로가기
728x90
SMALL

server·network44

다중 톰캣 구동하기, 톰캣 두개로 서버실행, tomcat start.bat 바로 꺼짐, CATALINA_HOME 변경, start.bat환경변수 설정 같은서버에 두개의 톰캣을 올려야하는데 다른 하나가 그 전의 경로로 실행되는 것 같았다 그래서 start.bat가 실행이 안되고 꺼졌다 확인해보니 CATALINA_HOME 등 환경변수가 그 전의 경로에 잡혀있었다 그래서 start.bat에 이런식으로 세팅을 해줬다 rem 어쩌구와 setlocal 위에 환경변수를 설정해줬다 server_name은 그냥 해도 되나보다... rem --------------------------------------------------------------------------- rem Start script for the CATALINA Server rem ------------------------------------------------------------------.. 2022. 3. 29.
HTTP 상태코드 (4xx - 클라이언트오류, 5xx - 서버오류) 4xx (client error) 클라이언트의 요청에 잘못된 문법등으로 서버가 요청을 수행할 수 없음 오류의 원인이 클라이언트에 있음 똑같이 재시도해도 실패함 400 Bad Request : 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음 요청구문, 메시지 등등 오류 클라이언트는 요청 내용을 다시 검토하고 보내야함 401 Unauthorized : 클라이언트가 해당 리소스에 대한 인증이 필요함 인증되지않음 참고 인증(Authentication) : 본인이 누군지 확인(로그인) 인가(Authorization) : 권한 부여(admin권한처럼 특정리소스에 접근할 수 있는 권한, 인증이 있어야 인가가 있음) 오류메시지가 Unauthorized이지만 인증되지않음 403 Forbidden : 서버가.. 2022. 3. 3.
HTTP 상태코드 (3xx - 리다이렉션) 리다이렉션이란 웹브라우저는 3xx 응답의 결과에 Location 헤더가 있으면 Location위치로 자동이동(리다이렉트) 영구 리다이렉션 301, 308 리소스의 URI가 영구적으로 이동 301 moved permanently 리다이렉트시 요청메서드가 get으로 변하고 본문이 제거될 수 있음 308 permanent redirect 301과 기능같음 리다이렉트시 요청 메서드와 본문유지(처음 post를 보내면 리다이렉트도 post) 일시적인 리다이렉션 302, 307, 303 리소스의 URI가 일시적으로 변경 따라서 검색 엔진 등에서 URL을 변경하면 안됨 302 Found 리다이렉트 요청 메서드가 get으로 변하고 본문이 제거될 수 있음 307 Temporary Redirect 302와 기능같음 리다이렉.. 2022. 3. 3.
HTTP 상태코드 (2xx - 성공) 200 OK 요청 성공 201 Created 등록해달라고 뭔가 요청 -> 서버에서 신규리소스만들고 Location 헤더에 새로운 리소스경로 넣어줌 202 Accepted 요청이 접수되었으나 처리가 완료되지 않았음 204 No Content 서버가 요청을 성공적으로 수행했지만 응답 페이로드 본문에 보낼 데이터가 없음 결과내용이 없어도 204메시지 만으로 성공을 인식할 수 있음 2022. 3. 2.
참고하면 좋은 URI설계 개념 문서(document) 단일 개념(파일하나, 객체 인스턴스, 데이터베이스 row) /members/100, /files/star.jpg 컬렉션(collection) 서버가 관리하는 리소스 디렉터리 서버가 리소스의 URI를 생서하고 관리 /members 스토어(store) 클라이언트가 관리하는 자원의 저장소 클라이언트가 리소스의 URI를 알고 관리 /files 컨트롤러(controller), 컨트롤 URI 문서, 컬렉션, 스토어로 해결하기 어려운 추가 프로세스 실행 동사를 직접 사용 /members/{id}/delete 2022. 3. 2.
api설계 회원관리시스템 POST기반 POST- 신규자원 등록 특징 클라이언트는 등록될 리소스의 URI를 모른다 POST/members 서버가 새로 등록된 리소스 URI를 생성해줌 HTTP/1.1 201 Created Location: /members/100 컬렉션(Collection) 서버가 관리하는 리소스 디렉토리 서버가 리소스의 uri를 생성 및 관리 여기서 컬렉션은 /members 파일 관리 시스템 PUT기반 파일 목록 -> GET 파일 조회 -> GET 파일 등록 -> PUT 파일 삭제 -> DELETE 파일 대량 등록 -> POST PUT- 신규지원등록특징 클라이언트가 리소스 URI를 알고있어야한다. PUT/files/star.jpg 클라이언트가 직접 리소스의 URI를 지정한다 스토어(Stroe) 클라이.. 2022. 3. 2.
클라이언트에서 서버로 데이터 전송 1. 데이터 전달방식 쿼리 파라미터 통한 데이터 전송 GET 주로 정렬 필터(검색어) HTTP메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원가입, 상품주문, 리소스 등록, 리소스 변경 2. 데이터 전송 4가지 상황 정적 데이터 조회 이미지, 정적 텍스트 문서 조회는 GET사용 쿼리 파라미터 미사용, 리소스 경로로 단순하게 조회 가능 동적데이터 조회 주로 검색, 게시판 목록에서 정렬 필터(검색어) 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용 조회는 GET사용 쿼리 파라미터 사용 HTML Form을 통한 데이터 전송 POST전송 회원강비, 상품주문, 데이터 변경 Content-Type : application/x-www-form-urlencoded사용 전송 데.. 2022. 2. 25.
HTTP 메서드의 속성(안전, 멱등, 캐시가능) HTTP 메서드의 속성 안전 호출해도 리소스를 변경하지않는다. 조회만 하는 GET은 안전하고, 변하는 POST, DELETE 등은 안전하지 않음 멱등 몇번을 호출하든 결과가 똑같다. 멱등메서드 : GET, PUT, DELETE POST : 두번 호출하면 중복결제가 될 수 있기때문에 멱등아님 멱등은 외부 요인으로 중간에 리소스가 변경되는 것까지는 고려하지 않음. 캐시가능 GET, HEAD, POST, PATCH 캐시가능 (실제로는 GET, HEAD정도만 캐시로 사용) 2022. 2. 23.
HTTP 메서드의 종류 GET, POST, PUT, PATCH, DELETE HTTP 메서드 종류 GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등로게 사용 PUT : 리소스를 대체. 파일을 폴더에 넣는것 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 1. GET 리소스 조회 쿼리파라미터를 통해 데이터를 서버에 전달 메시지바디 보낼 수 있지만 지원하지 않는 서버많음 -> POST쓰면됨 2. POST 클라이언트가 정보를 전달하여 서버에게 처리해달라고함 신규리소스 등록 등에 사용 응답데이터에는 자원이 생성된 경로를 보냄 3. PUT 리소스가 있으면 대체, 없으면 생성 (리소스 완전 대체) 클라이언트가 리소스 위치를 정확히 알고 URI지정(클라이언트가 리소스를 식별) 4. PATCH 리소스 부분 변경 지원안되는 서버들도 있다 -> POST 쓰면됨 5. DE.. 2022. 2. 23.
API URI설계 리소스의 의미는? 예) 회원조회 -> 회원이라는 개념자체가 리소스라서 회원리소스를 URI에 매핑 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members{id} 회원 삭제 /members{id} 근데 어떻게 구분할까 * URI는 리소스만 식별하고 리소스와 행위를 분리 리소스 : 회원 (명사) 행위 : 조회, 등록, 삭제, 변경(동사) 그렇다면 행위는 어떻게 구분하느냐 -> HTTP 메서드로 구분 2022. 2. 22.
728x90
LIST