본문 바로가기

Learning-log126

(모든 개발자를 위한 HTTP 웹 기본 지식) 7-(1)~(6) HTTP 일반헤더 - HTTP 헤더 개요 HTTP헤더 header-field = field-name ":" OWS field value OWS (OWS : 띄어쓰기 허용) field name은 대소문자 구분 없음 용도 HTTP 전송에 필요한 모든 부가정도 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 등 많은 정보가 들어감 표준 헤더가 너무 많음 필요 시 임의의 헤더 추가 가능 헤더 분류 General헤더 : 메시지 전체에 적용되는 정보 ex . Connection : close Request헤더 : 요청 정보 ex. Response 헤더 : 응답 정보 ex. Server : Apache(요청을 받아서 처리하는 서버 정보) Entity헤더 : 엔티티 바디 정보 ex.. 2023. 4. 23.
(모든 개발자를 위한 HTTP 웹 기본 지식) 6-(1)~(5) HTTP 상태코드 - HTTP 상태코드 클라이언트가 보낸 요청의 처리 상태르르 응답에서 알려주는 기능 1XX(Informational) : 요청이 수신되어 처리중(거의 사용하지 않으므로 생략) 2XX(Successful) : 요청 정상 처리 성공 200 : ok : ex. GET 요청이 오면 결과를 정상적으로 처리해서 응답할 경우 201 : Created ex. POST요청으로 신규자원 생성 요청 -> 서버에서는 신규 리소스를 만들고 응답코드 201로 응답 202 : Acceapted 요청이 접수는 되었으나 처리는 완료X 배치 처리 같은 곳에서 사용. 204 : No Content 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 ex. 웹 문서 편집기에서 save 버튼 save버튼의 결과로 .. 2023. 4. 22.
(모든 개발자를 위한 HTTP 웹 기본 지식) 5-(1)~(2) HTTP메서드 활용 - 클라이언트에서 서버로 데이터 전송 데이터 전달 방식 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 상황 4가지 정적 데이터 조회 : 쿼리 파라미터 미사용 추가적인 데이터 전달 없음. 단순히 URI경로만 넣으면 그 이미지 리소스를 만들어서 클라이언트에게 내려주는 것. 이미지, 정적 텍스트 문서 조회는 GET으로 사용 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 동적 데이터 조회 쿼리 파라미터 사용 서버에서 해당 요청을 받아 쿼리 파라미터를 기반으로 정렬 필터해서 결과를 동적으로 생성 주로 검색, 게시판 목록에서 정렬 필터(검색어) 들이 .. 2023. 4. 20.
(모든 개발자를 위한 HTTP 웹 기본 지식) 4-(1)~(5) HTTP메서드 - HTTP API를 만들어보자 실무에 투입됐다고 생각해보자. 요구사항을 가지고 회원 정보 관리 API를 만들어보자 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 API URI설계 회원 목록 조회 / read-member-list 회원 조회 / read-member-by-id 회원 등록 / create-member 회원 수정 / update-member 회원 삭제 / delete-member 위와 같이 설계하면 좋은 설계일까? 가장 중요한 것은 리소스 식별이다. 리소스의 의미는? 회원을 등록하고 수정하고 조회하는게 리소스가 아님 미네랄을 캐라 => 미네랄이 리소스 회원이라는 개념 자체가 리소스 리소스를 어떻게 식별하는 게 좋을까 회원을 등록하고 수정, 조회하는 건 모두 배제 회원이라는 리소스.. 2023. 4. 19.
(MyBatis) PersistenceException 1. 상황 MyBatis와 SQL을 활용해 게시판 코드를 짜던 중, selectOne 메서드를 실행하는 도중에 발생한 예외이다. 2. 에러 및 원인 1) 에러 메시지 Exception in thread "main" java.lang.ExceptionInInitializerError at com.ssafy.board.test.Test.main(Test.java:12) Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### The error may exist in mapper/boardMapper.xml ### The error occurred while processing mapper_re.. 2023. 4. 19.
BindingException: Invalid bound statement (not found) 1. 상황 : MyBatis를 사용해 SQL에 있는 글 목록을 불러오거나 새 글을 등록하는 메서드를 실행해보던 중 발생한 오류. 처음엔 selectAll, selectOne 메서드까지 잘 실행되다가 insertBoard를 하자 session을 빌드하는 데에 문제가 생기기 시작했고 (아마 중간에 다른 것들을 조금씩 수정하다가 어디선가 문제가 생긴 것으로 추정) insertBoard만 지우고 select 함수들만 실행했을 땐 select 메서드들은 잘 실행됐었다. 그러다가 !!!!!!!!!!!!! 갑!자!기 select마저 실행이 안되면서 이 BindingException 오류가 발생했다 (또엥) 2. 원인 : 디버깅을 해가는 과정에서 Mapper.xml의 selectOne 구현 부분은 주석처리를 해놓고, .. 2023. 4. 19.