개발 관련 부가 지식/기타

웹 url 동작 과정, 쿠키와 세션, Rest api

Developer-Choi 2023. 1. 21. 19:10
728x90
728x90

브라우저에 URL을 치면 일어나는 일 👀

네트워크 구조

ex) 브라우저 도메인(www.naver.com) 입력

-> DNS(도메인 네임서버)에서 해당 도메인 IP주소를 받아옴

-> 브라우저가 Http Request message를 만듬

-> OS의 프로토콜 스택에 따라 패킷을 LAN 어댑터로 전달

-> LAN 어댑터는 전기신호를 만들어 LAN 케이블로 송출

-> 허브,스위치, 라우터 등을 경유하여 ISP(통신사)에 전송

-> POP를 거쳐 인터넷 핵심부에 들어가고 고속 라우터를 통해 상대방 서버에 도달

-> 상대 서버 LAN 방화벽에서 패킷 검사 후 이상이 없으면 캐시 서버로 패킷 전달

-> 캐시 서버에 응답데이터가 있을 경우  응답하고 없으면 웹서버로 전달

-> 웹서버에 패킷이 도달하면 패킷의 알맹이를 추출하여 Http Request message를 복원하여 WAS에 전달

-> WAS는 응답메시지를 만들어서 다시 위와 같은경로로 클라이언트에게 전달하게됌

 

쿠키와 세션 🍪

-> HTTP는 상태와 연결에 대한 정보를 저장하지 않음, 이를 도와주는 것이 쿠키와 세션

-> 쿠키: 브라우저에 저장, text임, header 에 담겨서 전송되어 유출위험이 있음

-> 세션: 서버에 저장, http세션의 경우는 브라우저가 종료될때까지 유지, 서버 저장으로 보안성이 좋음

 

REST API 👀

-> REST 기반으로 서비스 API를 구현한 것

REST 란? , 자원의 표현으로 상태를 주고받음 == URI + Http Method 를 통해 정보를 주고 받음

URI란? uniform resource identifier(통합 자원 식별자) 로, 한마디로 서버 리소스의 고유한 이름

Http Method는 POST, GET, DELETE, UPDATE 등이 있다

 

REST ful 

-> REST 원리를 잘 따르는 시스템을 말한다, 자원을 URI로 표현하고 적절한 Method를 사용했다라는 것을 의미

 

HTTP 응답코드 

-> 응답에 결과를 대략적으로 표현하기 위한 코드

-> 100번대 코드 : 요청 받고 처리 중을 의미

-> 200번대 코드 : 요청이 성공되었음을 의미

-> 300번대 코드 : Redirection, 클라이언트를 지정된 위치로 이동시킴

-> 400번대 코드 : 클라이언트 오류로 http 요청이 잘못되거나, 권한이 없을때를 의미

-> 500번대 코드 : 서버의 오류로 서버가 요청을 수행하지 못함을 의미

 

HTTPS

-> HTTPS에서 S는 Over Secure Socket Layer의 약자로 보안이 강화된 HTTP이다.

-> HTTP Message를 암호화하여 도청을 막을 수 있다.

-> HTTPS 적용 및 SSL 에 관한 것은 https://livelyoneweek.tistory.com/11 참고