세션진행: 순태님
컴퓨터들끼리 html 파일을 주고받을 수 있도록 하는 소통방식 또는 약속
Hyper Text Transfer Protocol
HyperText = 문서와 문서가 링크로 연결 되어 있음을 뜻함.
Transfer = 전송하다 (html로 만든 웹페이지 문서를 보낸다.)
Protocol = 약속
http는 클라이언트와 서버를 연결하는 배달부 역할
요청과 응답의 상태 (메소드,url,버전,상태)
요청과 응답에 대한 추가 정보 (메타데이터)
요청과 응답의 실제 정보
< start 라인 >
POST : 일종의 메소드 메시지를 보내는 방식
/test/test : 어디에 보낼것이냐 (url)
HTTP/1.1: 버전
< status 라인 >
http/1.1 : 버전
200 : 상태코드 (200 = 성공)
ok: 상태에 대한 설명
200 ok = 잘 받았다 데이터 줄게 라는 의미
타겟은 클라이언트에게 대상이 정해져있는 것 이므로 따로 필요없음
GET (read랑 비슷)
데이터를 받아오기만 할 때
웹페이지에 접속해서 필요한 데이터를 불러올 때
body가 필요없음
POST (create랑 비슷)
데이터를 생성 / 수정할 때 사용
body에 담는 내용이 핵심!
DELETE
서버에 저장된 특정 데이터를 삭제할 때
body가 필요없음
400번대 코드 = 서버에서 예외처리로 미리 설정 해놓는 코드
500번대 코드 = 서버 잘못 or 알수 없는 오류
++ 2021.04.02 추가
여태껏
GET = 데이터를 가져올 때
POST = 데이터를 생성하거나 수정할 때
를 의미 하는 줄 알았지만..
내가 잘못 알고 있었던 것이다.
GET과 POST는 단순 메소드일 뿐 그 메소드가 가지고있는 역할은 없는 것이다.
위스타그램을 모델링 하던 중 갑자기 의문이 들었다.
회원가입은 POST로 하는게 맞는 것 같은데
로그인은... 왜 POST인거지?
내가 알고 있는 POST = 데이터 생성 or 수정 일 뿐인데..
정말 궁금해서 순태님께 왜 로그인할 때 POST를 사용하는지 여쭤봤다.
순태님은 몇가지의 질문을 하시고 나에게 HTTP 세션자료를 다시 읽어보고 오라고 하셨다.
솔직히 지금까지 했던 세션을 어느정도 잘 이해한 후 블로깅까지 했다고 생각을 했는데 그런 소리를 들으니 자존심이 상했다.
다시 세션자료를 보니.. GET과 POST는 단순 메소드 일뿐 그 메소드에 역할은 주어지지 않았다는 내용을 보고 깨달았다.
GET은 body에 내용을 못담고
POST는 body에 내용을 담을 수 있다.
그 뜻은 로그인할 때 POST를 사용해서 클라이언트가 서버에게 아이디와 비밀번호를 전달하고 서버에서 그 아이디와 비밀번호가 기존 데이터베이스의 회원정보와 일치 하는지 판단을 하는 시스템으로 이해했다.
지금까지 틀에박혀 메소드의 기능만 외우려고 했던 나 자신이 좀 부끄러웠다.