개발일지/Http통신16 Rest API [ REST API ] REST는 Representational State Transfer 용어의 약자. 2000년도 로이 필딩 박사학위 논문에서 최초로 소개 되었다. GET,POST,PUT,DELETE 등으로 약속을 해둔 것을 의미한다. 자원 - resource (URI) 행위 - method (Get, Post ..) 표현 - representation (.../1) - Method - 8가지가 있는데 크게 4~5개를 많이 쓴다. GET 해당 리소스를 조회 할 때, 조회 정보를 가져올 때 사용 POST 해당 URI를 요청하면 body에 데이터를 담아서 덤지는데, 서버측에 자원을 생성한다 PUT 해당 리소스를 수정 할 때 사용한다. DELETE 해당 리소스를 삭제 할 때 사용한다. [ ★ http .. 개발일지/Http통신 2022. 11. 15. Web이란 [ 용어 정리 ] * 통신 : 정보를 전하는 것. * 웹 : 인터넷이라는 통신망을 활용하여 구현된 정보 공간 * 웹 클라이언트 : 웹에서 정보를 요구하는 주체 * 웹 서버 : 웹에서 정보를 제공하는 주체 * 웹 리소스 : 웹 서버가 제공하는 정보 자원 (HTML, JS ,CSS 등) * 웹 서비스 : 웹 상에서 제공되는 서비스 (SNS, 쇼핑몰 등) [ Web ] 인터넷을 기반으로 구현된 서비스 중 HTTP를 이용하여 정보를 공유하는 서비스. 정보를 제공하는 주체는 서버 (Web server) 정보를를 받는 이용자를 웹 클라이언트 (Web Client) 라고 한다. 프론트엔드 (Front-end) 백엔드 (Back-end) 이용자의 요청을 받는 부분 이용자에게 직접 보여지는 부분으로 웹 리소스라는 것.. 개발일지/Http통신 2022. 11. 15. 인코딩 & 포트, 통신 프로토콜 [ 인코딩 ] 컴퓨터의 모든 데이터는 0과 1로 구성되어있다. 이는 문자를 컴퓨터에 인식시키는 일종의 약속이다. 이 약속들을 인코딩 (Encoding)표준이라고 하며, 대표적으로 아스키(Ascii)와 유니코드(Unicode)가 있다. [ 포트 Port ] 네트워크 포트 (Network Port) 서비스 포트 (Service Port) 네트워크에서 서버와 클라이언트가 정보를 교환하는 추상화된 장소 네트워크 포트 중에서 특정 서비스가 점유하고 있는 포트 포트로 데이터를 교환하는 방식은 전송 계층의 "프로토콜" TCP UDP 웹 서버 등 신뢰가 필요 할 때 사용한다 신뢰성 보다는 속도가 중요할 때 사용한다. TCP로 접근하려는 서브스에 UDP 클라이언트가 접근하면 데이터가 교환되지 않는다. 반대도 마찬가지이다.. 개발일지/Http통신 2022. 11. 15. # 41 해당 테이블의 제품의 수 반환(COUNT) 해당 테이블의 제품의 수 반환(COUNT) SELECT COUNT(prodName) AS "제품의 수" FROM buytbl; 개발일지/Http통신 2022. 11. 15. 게시글 삭제(DELETE) 게시글을 삭제하기 위해서는 DELETE메소드를 사용! 여기서 서버한테 필요한 요청은 유저정보를 담은 토큰값이 필요하다 그런데 게시글을 삭제하려면 게시글을 작성할때 서버한테 요청한 토큰값과 같아야 한다 왜냐면 게시글 삭제는 본인만 할 수 있기때문에 작성한 유저의 토큰값과 삭제할 게시글의 토큰값을 일치!!! 만약 일치하지 않으면 권한이 없다고 서버쪽에서 메세지를 던저준다. 성공시 2번글 삭제 완료!!! 개발일지/Http통신 2022. 11. 14. 하나의 게시글 조회하기(GET) 하나의 게시글을 조회할땐 GET메소드를 사용한다 여기서 서버에게 요청할 데이터는 아디가 존재하는 아무 유저의 토큰값만 필요하다. 하지만 로그인을 안해도 게시글을 읽을 수 있다면 필요 없을때도 있다. 하지만 여기서는 로그인을 해야지만 게시글을 볼 수 있다는 가정하에 설명하고 있다. 그래서 아무 유저가 로그인한 토큰값만 있으면 된다. 개발일지/Http통신 2022. 11. 14. 게시글 수정(PUT) 밑에 그림에서 현재 7번째 TEST유저가 게시글을 작성한걸 알 수 있다. 유저의 토큰값과 수정할 내용의 데이터를 서버에게 요청하여 값을 바뀐걸 알 수 있다. 개발일지/Http통신 2022. 11. 14. 게시글 작성(POST) 게시글을 작성할땐 데이터를 추가하기 때문에 POST메소드를 사용한다. 이때 서버에게 요청할 데이터는 두가지이다 1. 누가 데이터를 썼는지 해당 유저의 토큰값 2. 어떤 내용을 쓸지 JSON 형태의 게시글 데이터 이두가지의 데이터를 서버에게 요청을 하게되면 JSON형태로 저장이된 데이터를 응답을 하게된다 개발일지/Http통신 2022. 11. 14. 회원정보 수정(PUT) 개인정보를 수정하기 위해서는 PUT메소드를 사용! 서버에게 요청할 데이터는 2가지가 필요하다 먼저 수정할 데이터를 JSON형태로 보내줘야하고, 수정할 유저의 토큰값을 알아야 한다 토큰값을 모르거나 틀리면 해당하는 유저의 정보를 알 수가 없다. 그래서 2가지의 데이터가 필요하며 서버에게 던저주어야 유저 정보가 바껴서 응답을 JSON형태로 받을 수 있다. 개발일지/Http통신 2022. 11. 14. 해당 유저 데이터 가져오기(GET) 해당 유저의 데이터를 가져올때 GET메소드를 사용한데 이때 토큰값을 서버에 요청을 해줘야하는데 유저가 해당아이디로 로그인 할때마다 항상 토큰 값을 주어진다. 그래서 그 유저에게 주어진 토큰값을 서버 요청해서 그 토큰값이 권한이 있는지 없는지 확인후 토큰값이 일치하면 서버에서 응답할때 JSON형태로 해당 유저의 정보를 응답을 해준다. 요청데이터 응답데이터 개발일지/Http통신 2022. 11. 14. 로그인(POST) 로그인할때 DB에 데이터를 가져와야한다. 그러면 GET메소드를 사용해야하지만 GET요청을 하게되면 주소창에 아이디와 비밀번호가 뜨게된데 그래서 POST요청을 던저 줘야한다. 요청 데이터 header 필요한 요청 : Content-Type: application/json Body 필요한 요청 : JSON 형태의 데이터 응답데이터 응답받은 header : 토큰 응답받은 body : JSON 로그인을 하게되면 토큰이 수시로 바뀌지만 해당 로그인의 토큰을 발급해준다. 즉 로그인은 허용하겠다는 권한을 주는 거라고 생각하면된다. 이 토큰은 로그인할때마다 변경이 된다. 개발일지/Http통신 2022. 11. 14. 회원가입(POST) 회원가입 할때 DB에 데이터를 추가해야한다. DB에 데이터를 추가할땐 POST(메소드)를 사용한다 그런데 추가할때 어떤형태로 데이터를 추가를 해야할지 밑에 그림에서보면 Content-Type을 application/json 형태로 지정해주고, BODY에는 JOSON 형식으로 추가할 데이터를 써준다. header 필요한 요청 : Content-Type: application/json Body 필요한 요청 : JSON 형태의 데이터 요청데이터 응답받은 데이터 개발일지/Http통신 2022. 11. 14. 이전 1 2 다음