상세 컨텐츠

본문 제목

221024 DRF공부 & 웹브라우저

카테고리 없음

by hunss 2022. 10. 24. 14:59

본문

DRF 원격공부 시작함. 전에 공부했던 내용들이라 강의듣는데에는 문제가 없어서 다행이다.


웹브라우저 흐름

1. DNS조회

2. HTTP 요청 메세지 작성

3. Socket 라이브러리를 통해서 전달

4. TCP/IP 작성되고 이 안에 HTTP메세지가 포함


Domain Name System : 핸드폰 주소록 이름 같은 느낌 - 전화번호는 IP주소

IP(xxx.xxx.xxx.xxx)주소 외우기 힘드니까 DNS(www.naver.com / www.google.com 같은거) 으로 검색

 

IP는? Internet Protocol 

출발지 IP와 목적지 IP를 작성 / 지정한 IP주소로 작성

편지봉투? 느낌

 

TCP는? 

IP를 TCP로 보완 / 출발지 Port와 목적지 Port 정보 / 데이터 전달을 보증 / 연결이 됐는지 확인 -> TCP 3 way Handshake 라고 연결인증방식 있음

<-> UDP도 있음 얘는 거의 안쓰임. TCP기능들이 없어서 보안이 안됨. IP+Port 정도

 

그럼 Port는 뭘까

같은 IP내에서 프로세스 구분을 해줌. 0~65535 까지 있는데 0~1023은 널리 쓰이는 포트임. ex) http는 80번 https 443번

 

자 이제 HTTP는? HyperText Transfer Protocol

Request Message와 Response Message는 다르게 생김

request message = request line(ex Get / http 1.0) - header - a blank line - body(optional)s

response message = status line(ex http 1.0 / 200 OK ) - header - a blank line - body(optional)

 

Restful한 API는? 

리소스(회원)와 행위(메소드)를 분리하기.

쿼리 파라미터 = 주로 검색, 정렬 필터 / GET

메시지 바디 = 회원가입, 상품주문, 리소스 등록&변경 / POST PUT PATCH

 

GET = 조회

POST = 등록 / 메시지 바디에 데이터를 서버에 전달 / DB가 바뀌거나 뭐 그럴 때?


두개 비슷 

 

PUT = 대체, 생성 / 파일 붙여넣기 같은 느낌 / 없으면 만들고 있으면 덮음 / 회원정보에서 생일만 바꾸고 싶은데, 나머지 회원 정보도 다 보내고 싶을때(의미적으로)

PATCH = 부분 변경 / 회원정보에서 생일만 바꾸고 싶은데, 나머지 회원 정보는 안보내고 생일만 보낼 때(의미적으로)

HEAD

DELETE 

등등


 

HTTP Message

1xx = 잘 사용 안함

 

2xx = 요청 정상 처리 / 보통 200 OK 많이 씀

 

3xx = 추가 행동 필요 / 보통 redirect

 

4xx = 클라이언트 에러

400 : 프론트에서 뭔가 누락됐을 때

401 : 로그인 안됐음

403 : 권한이 없음

404 : 리소스가 없다. url을 틀렸을 때

 

5xx = 서버 에러 / 복구 후 재시도시 성공 가능

500 : 서버 내부 문제

503 : 서버가 일시 과부하


set-cookie : 리스폰스시 서버에서 클라이언트로 쿠키 전달

 

cookie : 클라이언트가 서버에서 받은 쿠키 저장 / 요청 시 서버로 전달


모르면 구글링하면 됨

http status < 같이 구글링하면 다 나옴