본문 바로가기

HTTP

(6)
“www.google.com” 을 입력하면 무슨 일이 일어날까? (TCP/IP) https://jootang2.tistory.com/136 웹 브라우저 요청 흐름을 따라가보자 https://jootang2.tistory.com/135 구글 URL을 해석해보자! (https://www.google.com:443/search?q=hello&hl=ko) 실제 구글 URL을 파헤쳐보면서 주소에 어떤 정보들이 담겨져 있는지 알아보자! 준비물 : https://www.google.com:443 jootang2.tistory.com 위 포스팅을 통해서 우리는 웹 브라우저 요청흐름을 따라가봤다. 오늘은 주소창에 "www.google.com"을 입력하면 무슨일이 일어나는 지 알아보자! 인터넷 세상에서는 TCP/IP를 통해 정보를 주고받는다. TCP/IP : 인터넷에서 컴퓨터들이 서로 정보를 주고 받..
HTTP의 주요 메소드에는 뭐가 있을까요!? HTTP의 주요 메소드에는 5가지 종류가 있다. GET POST PUT PATCH DELETE GET 리소스 조회 서버에 전달하고 싶은 데이터는 query를 통해서 전달 POST 요청 데이터 처리 메세지 바디를 통해 서버로 요청 데이터 전달 서버는 요청 데이터를 처리 주로 신규 리소스 등록, 프로세스 처리에 사용 리소스 URI에 POST요청이 오면 요청 데이터를 어떻게 처리할 지 리소스마다 따로 정해야 함 → 정해진 것이 없음 PUT 리소스를 대체 리소스가 있으면 대체 리소스가 없으면 생성 클라이언트가 리소스를 식별 (아래 예시에서 Collection, Store 내용 참고) 클라이언트가 리소스 위치를 알고 URI 지정 POST와의 차이점 ! PATCH 리소스 부분 변경 DELETE 리소스 제거 HTTP..
HTTP의 특징 : Stateless와 connectionless를 살펴보자 무상태 프로토콜(Stateless) stateful : 서버가 클라이언트의 이전 상태를 보존 (상태 유지) (ex. 다른 점원으로 바뀌면 에러 발생) stateless : 서버가 클라이언트의 이전 상태를 보존하지 않음 (무상태) (ex. 다른 점원으로 바뀌어도 상관 없음 → 클라이언트가 서버에 필요한 데이터를 다 넘겨줌) 갑자기 고객이 증가해도 점원을 대거 투입 가능 → 갑자기 클라이언트 요청이 증가해도 서버를 대거 투입 가능 무상태는 응답 서버를 쉽게 바꿀 수 있음 → 무한한 서버 증설 가능! 한계 로그인 상태를 서버에 유지 상황 → 쿠키, 세션을 사용해서 상태 유지 상태 유지는 최소한만 사용 비 연결성(connectionless) 서버는 연결 유지X, 최소한의 자원 사용 HTTP는 기본이 연결을 유지..
웹 브라우저 요청 흐름을 따라가보자 https://jootang2.tistory.com/135 구글 URL을 해석해보자! (https://www.google.com:443/search?q=hello&hl=ko) 실제 구글 URL을 파헤쳐보면서 주소에 어떤 정보들이 담겨져 있는지 알아보자! 준비물 : https://www.google.com:443/search?q=hello&hl=ko URL의 구조 : scheme://[userinfo@]host[:port][/path][?query][#fragment] 준비물의 구 jootang2.tistory.com 이전 게시글에서 URL의 구조를 통해 의미를 알아봤다. 오늘은 이런 URL이 들어오면 웹 브라우저에서는 어떤 순서대로 처리하는 지에 대해서 알아보자! https://www.google.com..
구글 URL을 해석해보자! (https://www.google.com:443/search?q=hello&hl=ko) 실제 구글 URL을 파헤쳐보면서 주소에 어떤 정보들이 담겨져 있는지 알아보자! 준비물 : https://www.google.com:443/search?q=hello&hl=ko URL의 구조 : scheme://[userinfo@]host[:port][/path][?query][#fragment] 준비물의 구조: https://www.google.com:443/search?q=hello&hl=ko 1. scheme 주로 프로토콜 사용 프로토콜 : 어떤 방식으로 자원에 접근할 것인가 하는 약속 (ex. http, https, ftp...) 2. userinfo URL에 사용자 정보를 포함해서 인증 거의 사용하지 않는다. 3. host a. 포트(port) b. 접속 포트 c. 일반적으로 생략 (http는 8..
TCP, UDP 차이 TCP 연결지향 - TCP 3 way handshake (가상 연결) SYN: 클라 → 서버 SYN + ACK : 서버 → 클라 ACK : 클라 → 서버 데이터 전달 보증 순서 보장 신뢰할 수 있는 프로토콜 현재는 대부분 TCP 사용 UDP 기능이 거의 없음 연결지향 (TCP 3 way handshake X) 순서 보장 X 데이터 전달 및 순서 보장되지 않지만, 단순하고 빠름 IP와 거의 같다 (+Port, checksum 정도) 애플리케이션에서 추가 작업 필요 HTTP/1.1: 가장 많이 사용!!! HTTP2 : 성능 개선 HTTP3 : TCP 대신 UDP 사용, 성능 개선 결론적으로, 2와 3은 성능개선이기 때문에 1.1버전을 학습하면 된다. 현재 구글은 3으로 넘어가고 있고, 네이버는 2인 것을 쉽..