서버<-> 클라이언트 데이터를 주고 받는 방법
서버와 클라이언트의 데이터를 주고 받는 규약을 프로토콜이라고 한다
클라이언트-> 서버로 데이터를 요청할때 4가지 타입을 CRUD 라고 한다.
Read, Create, Update , Delete으로 순서대로 읽기, 쓰기, 수정, 삭제 이다.
요청메소드
1. GET - read
클라이언트가 서버에 데이터를 요청할때 사용하는 메소드. CRUD에서 R에 해당한다. 서버 종류에 따라 다양한 데이터를 요청한다.
2. POST - create
특정 데이터를 추가하는 요청이다. CRUD에서 C에 해당한다. 데이터를 만들어내는 것이다. 즉 데이터베이스에 데이터를 추가한다는 의미.
3. PUT - update
특정 데이터에 대해 수정하라는 요청이다. CRUD에서 U에 해당한다. (update) 데이터베이스에 존재하는 데이터를 수정한다.
4. DELETE - delete
특정 데이터를 삭제한다. CRUD에서 D에 해당한다.
데이터를 요청할때 요청하는 형태에 따라 메소드를 달리 한다. 보통 GET, POST를 주로 사용한다.
응답코드
1xx: 조건부 응답 - 클라이언트가 데이터를 일부만 포함해서 보내서 서버가 데이터를 더 보내라고 하는 응답 코드이다.
2xx: 성공
3xx: 리다이렉션 완료 - 클라이언트가 요청을 완료하기 위해 작업이 남아있는 코드. 보통 새로고침을 한 경우 반환한다.
4xx: 요청 오류 - 클라이언트 요청이 잘못됐을 때
5xx: 서버 오류 - 서버의 설정, 코드 등에 문제가 있을 때
클라이언트: 일반헤더 + 요청헤더 + 엔티티 헤더
서버: 일반헤더 + 응답헤더 + 엔티티 헤더
URL 구조
프로토콜://주소 or IP: 포트번호/리소스 경로?쿼리스트링
주소 or IP: 웹 사이트에 입력하고 들어가는 것
포트번호: 프로토콜에 의해 정리할 수 있기에 생략이 가능하다. (기본 포트는 80)
리소스 경로: 한 사이트에서 페이지를 옮길 때마다 다르게 표현됨
쿼리스트링: 데이터가 포함되는 부분. 클라이언트-> 서버에 보내는 데이터이다.