웹이란?
world wide web. 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 공간,
HTTP: Hyper Text Transefer Protocol
데이터를 주고 받는 프로토콜.
웹에서 우리가 데이터를 주고 받을 때 어떠한 형태로 보내겠다 라는 약속이 있어야 한다 (특정 문자를 보낼거야 - 보내는 프로토콜이 HTTP)
HTML, XML, JSon, image , Voice, Video 등 컴퓨터에서 다루는 다양한 것을 전송 할 수 있다.
클라이언트는 요청 메세지를 전송할 때 서버에 http 통신을 통해 특정 데이털을 요청하는 데 이 때 필요한 것이 어디로 요청할까 하는 URI.
서버는 항상 리슨, 요청 대기 상태이다. 요청 메세지가 들어오면 메세지를 수신한다 - 이 메세지를 해석, 해석된 어플리케이션을 할당 - 로직을 통해 처리 - 응답 메세지 전송. 이 때 html, json 형태의 데이터들을 보내준다.
요청 : URI, HTTP
응답 : HTML, Json
클라이언트는 메세지 수신, 해석을 한다.
HTTP Method
멱등성: 서버에 몇 번 요청해도 결과가 같다.
안정성: 특정한 리소스, 특정한 데이터에 요청을 했을 때 이 데이터에 변화가 없는 것.
Path Variable: uri 주소에 대해 어떤 값을 가질 수 있나
Query parameter: 조작
Data body : request http 바디에 데이터를 실을 수 있냐
Post: create 요청 할 때마다 서버에 새로운 데이터가 생기기 때문에 멱등하지 않고 안정성이 없다. 주소에 parh variable을 가질 수 있다. http body에 어떤 리소스를 생성할 것인지를 넣기 때문에 data body를 가지고 있다.
Put: create, update 리소스가 없으면 생성을 한다. 그 다음 요청 시 갱신한다. 그렇기에 원격에 있는 서버의 리소스는 동일한 형태를 가지게 된다
없으면 생성, 있으면 갱신하기 때문에 멱등하다. 요청할 때마다 변경되기에 안정성은 없다.
Delete: 원격지 데이터 유무에 상관 없이 마지막 상태는 항상 삭제된 상태이기에 멱등성 유지.
삭제되기 때문에 안정성은 없다. Path Variable을 통해 특정 데이터를 삭제한다. Querty parameter를 통해 특정 데이터의 필터를 걸어 삭제가 가능하다.
HTTP 에러 코드
1XX: 처리중
2XX : 성공
3XX : 리다이렉트. 다른 리소스로 리다이렉트. 해동 코드를 받았을 때는 response의 새로운 주소로 다시 요청
4XX : 클라이언트 에러 , 클라이언트의 요청에 에러가 있다. 재전송해도 해결되지 않음
5XX : 서버에러,서버 동작 처리 에러
'JAVA > SpringBoot' 카테고리의 다른 글
REST API - POST , Json (0) | 2024.04.10 |
---|---|
REST API , URI 설계 (0) | 2024.04.09 |
게시판 프로젝트 - 첨부파일 다운로드 (0) | 2023.11.16 |
게시판 프로젝트 - 첨부파일 추가, 수정, 삭제 및 기존 파일 유지 (1) | 2023.11.15 |
게시판 프로젝트 - 다중 첨부 파일 업로드, 다운로드 구현 (0) | 2023.11.15 |