⭐ 오늘의 공부 : HTTP
HTTP의 의미 ? : 웹상에서 데이터를 주고받기 위한 프로토콜이다.
request(요청)
클라이언트 --------------------> 서버
<-------------------
response(응답)
클라이언트 서버 모델을 기반으로 동작하며 , 클라이언트가 요청을 보내면 서버가 응답을 반환한다.
* 특징
- 무상태성 : 상태를 유지하지 않고 요청이 독립적이며, 이전 요청의 정보를 기억 X
- 확장성 : 다양한 확장 헤더를 추가하여 기능을 확장할 수 있다.
- 유연성 : 다양한 데이터 형식을 전송할 수 있다. ex) 텍스트,이미지,비디오
- HTTP의 메시지는 요청과 응답으로 나뉘는데 , 요청 메시지는 클라이언트가 서버로 데이터를 요청할 때 사용
- 요청라인은 메서드(GET,POST) url, http 버전이있고 헤더엔 요청의 추가 정보(메타 데이터)를 담고 있음
ex) 브라우저 정보 ,인증 정보
요청 헤더에 인증정보가 들어가는 이유는?
웹 브라우저에서 서버로 요청을 보낼 때 요청을 보낸 사람이 누구인지 알아야 해서 >> 인증이 필요하다
인증 ? 서버는 요청을 보낸 사용자가 누구인지 확인한다 > 사용자에게 권한이 있는지 판단함
서버 ---> 요청 받음---> 정보를 확인하여 사용자를 인증
예시 >>
GET / protected-resource HTTP/1.1
Host: example.com
Authorization : Bearer <Access-Token>
유저가 가지고 있는 로그인했음을 알려주는 키
HTTP 상태코드
? : 서버 ----> 클라이언트 > 요청을 처리한 결과 / 첫번째 자리에 따라 의미가 다르다.
[정보] 1xx
100 Continue / 요청의 일부를 서버가 받았고 나머지를 계속 보내라는 의미
[성공] 2xx
200 OK / 요청이 성공적으로 처리되었음
201 Created / 요청이 성공적었고, 새로운 자원이 생성되었음을 나타낸다
[리다이렉션] 3xx
301 Moved Permanently / 요청한 리소스가 영구적으로 새로운 URL로 이동
302 Found / 요청한 리소스가 임시로 다른 URL로 이동
[클라이언트 오류] 4xx
400 Bad Request / 잘못된 요청임을 나타냄
401 Unauthorized / 인증이 필요함
404 Not Found / 요청한 리소스를 찾을 수 없음
[서버 오류] 5xx
500 Internal Server Error / 서버가 요청을 처리하는 동안 오류가 발생함
502 Bad Gateway / 서버가 게이트웨이 or 프록시 역할을 하는 서버로부터 유효하지 않은 응답을 받았음을 나타냄
여기서 자주 보이는 건 4xx, 5xx 상태 코드
http 메서드 및 Rest Api
HTTP 메서드 : 클라이언트 > 서버 : 요청의 성격을 알리는데 사용
REST API : http 메서드를 사용하여 CRUD 작업을 수행
GET - 서버로부터 데이터를 요청할 때 사용 / 요청 데이터가 URL 포함되어 전송
데이터를 조회할 때 사용함 * REST API > 특정 리소스를 조회할 때
POST - 서버로부터 데이터를 제출할 때 사용 / 요청 데이터 > 요청 본문에 포함되어 전송
주로 데이터를 생성,제출할 때 사용 * REST API > 새로운 리소스를 생성할 때
PUT,PATCH - 서버의 데이터를 업데이트할 때 사용 / 요청 데이터 : 요청 본문에 포함 전송 ,
기존 데이터를 수정할 때 사용함 * REST API > 기존 리소스를 수정할 때 ex) 게시글 수정
DELETE- 서버의 데이터를 삭제할 때 사용 / 주로 특정 데이터를 삭제할 때 사용 ex) 게시글 삭제
/ REST API > 특정 리소스를 삭제할 때 사용
⭐ 오늘한 일과 느낀 점
- 리액트 심화 강의 듣고 그 다음에는 로그인,회원가입 UI를 구현했다. 이 다음이 문젠데.. 흠...
일단은 내가 할 수 있는 것만 구현해야 할 것 같다. 성장은 아주 조금 한듯....? 기본만 안 수준 .
- 그리고 오늘 TIL을 쓰기 위해 HTTP에 대한 공부를 했고, 강의 자료를 참고하여 내 말로 풀어써서 작성했다.
- 코드가 꼬이기 전에 튜터님께 질문하러 가야겠다. 후다닥 저번주 팀 프로젝트(뉴스피드 프로젝트) 하며
느꼈다... ㅠㅠ
- 심화에서 약간 꺾임,, 이게 뭐야~? 뭔말이야? 물음표 뿐.. 내일 스탠다드 수준별 수업 들을 때 주의깊게
듣는 걸로 해야겠다. 이해력 딸려서 슬프다..
'👻내일배움캠프 - 스파르타코딩클럽 > TlL' 카테고리의 다른 글
240613 TIL (0) | 2024.06.13 |
---|---|
240612 TIL (0) | 2024.06.12 |
240610 TIL (0) | 2024.06.10 |
240607 TIL (0) | 2024.06.07 |
240605 TIL (0) | 2024.06.05 |