0902 TIL HTTP / 네트워크 (1)

냐하호후·2021년 9월 2일
0

TIL

목록 보기
36/101

🙆‍♀️클라이언트-서버 콘셉트를 이해할 수 있다.

클라이언트 : 리소스를 사용하는 앱
서버 : 리소스를 제공하는 곳

🙆‍♀️클라이언트-서버 아키텍처를 이해할 수 있다.

클라이언트와 서버는 요청과 응답을 주고받는 관계
요청이 선행되고 그 후에 응답이 온다. 요청하지않았는데 응답이 오는 경우는 없다.

기존 2티어 아키텍처에 데이터베이스가 추가된 3티어 아키텍처도 있다.

🙆‍♀️간혹 서버에서 일방적으로 클라이언트에 정보를 전달하는 적이 있을겁니다. 어떤 경우인가요?

쿠키 : 서버가 일방적으로 클라이언트에 전달하는 작은 데이터

🙆‍♀️HTTP를 이용한 클라이언트-서버 통신을 이해할 수 있다.

프로토콜(통신규약)
클라이언트와 서버가 HTTP라는 프로토콜을 이용해서 요청과 응답을 주고받는다.

🙆‍♀️API의 개념을 이해할 수 있다.

API(Application Programming Interface)

서버가 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스를 제공해주어야한다. 이것이 API이다.

인터페이스 : 의사소통이 가능하도록 만들어진 접점

🙆‍♀️브라우저의 작동 원리를 이해할 수 있다.
🙆‍♀️보이지 않는 곳의 통신을 이해할 수 있다.
🙆‍♀️URL과 URI의 차이를 이해할 수 있다.

URL : Uniform Resource Locator

네트워크 상에서 웹페이지 , 이미지 , 동영상등 파일이 위치한 정보를 나타낸다.

URI : Uniform Resource Identifier

일반적으로 URL의 기본 요소인 scheme, hosts, url-path에 더해 query, bookmark를 포함한다.

URL은 파일이 위치한 정보를 나타냅니다. 브라우저의 검색창을 클릭하면 나타나는 주소가 URI입니다. URI는 URL을 포함하는 상위개념입니다.

🙆‍♀️IP 주소와 PORT에 대해 이해할 수 있다.

IP는 Internet Protocol의 줄임말로, 인터넷상에서 사용하는 주소체계를 의미합니다. 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자로 구분됩니다.

로컬 PC의 IP 주소인 127.0.0.1 뒤에 :3000과 같은 숫자가 표현됩니다. 이 숫자는 IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)을 의미합니다.

🙆‍♀️DNS와 IP 주소의 관계를 설명할 수 있다.

DNS

Domain Name System의 줄임말로, 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템이다.

브라우저의 검색창에 도메인 이름을 입력해서 해당 사이트로 이동하기 위해서는 해당 도메인이름과 매칭된 IP주소를 확인하는 작업이 필요하다. 이 때 DNS가 IP주소를 찾아서 웹서버에 요청을 전달해준다. 그렇게 클라이언트와 서버가 통신을 할 수 있게된다.

🙆‍♀️크롬 브라우저의 에러 메시지를 통해 문제를 파악할 수 있다.
🙆‍♀️보이는 곳의 통신을 이해할 수 있다.
🙆‍♀️AJAX의 개념을 이해할 수 있다.

Ajax(Asynchronous JavaScript and XML)

Ajax는 빠르게 동작하는 동적인 웹 페이지를 만들기 위한 개발 기법의 하나이다.
Ajax는 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있다.
즉 Ajax를 이용하면 백그라운드 영역에서 서버와 통신하여, 그 결과를 웹 페이지의 일부분에만 표시할 수 있다.

DOM과 fetch로 Ajax기법을 사용한다.

🙆‍♀️SSR과 CSR의 차이를 이해할 수 있다.

SSR(Server Side Rendering)

웹 페이지를 브라우저에서 렌더링하는 대신에, 서버에서 렌더링한다.
서버에서 웹 페이지를 브라우저로 보내기 전에, 서버에서 완전히 렌더링했기 때문에 Server Side Rendering 이라고 한다. 경로가 변경될 때마다 새로운 정적 파일을 요청한다.

CSR(Client Side Rendering)

CSR은 클라이언트에서 페이지를 렌더링한다. 웹 브라우저에서 페이지를 렌더링한다.

SSR이 검색엔진최적화에 좋은 이유

SSR을 사용하면 모든 데이터가 매핑된 서비스 페이지를 클라이언트(브라우저)에게 바로 보여줄 수 있다. 서버를 이용해서 페이지를 구성하기 때문에 클라이언트에서 구성하는 CSR(client-side rendering)보다 페이지를 구성하는 속도는 늦어지지만 전체적으로 사용자에게 보여주는 콘텐츠 구성이 완료되는 시점은 빨라진다는 장점이 있다. 더불어 SEO(search engine optimization) 또한 쉽게 구성할 수 있다.

반면 CSR은 SSR보다 초기 전송되는 페이지의 속도는 빠르지만 서비스에서 필요한 데이터를 클라이언트(브라우저)에서 추가로 요청하여 재구성해야 하기 때문에 전제적인 페이지 완료 시점은 SSR보다 느려진다.

🙆‍♀️CORS의 개념을 이해할 수 있다.
🙆‍♀️HTTP messages의 구조를 설명할 수 있다.
🙆‍♀️HTTP의 동작 방식을 이해할 수 있다.
🙆‍♀️HTTP requests와 responses를 구분할 수 있다.
🙆‍♀️HTTP의 응답 메시지를 찾아볼 수 있다.

HTTP는 HyperText Transfer Protocol의 줄임말로, HTML과 같은 문서를 전송하기 위한 Application Layer 프로토콜이다.

HTTP의 특징은 Stateless(무상태성)이라는 점이다. HTTP는 특정 상태를 담고 있지 않으며, 이전 요청이나 다음 요청을 기억하지 않는다.

HTTP 메서드

HTTP 요청에는 메서드라는 것이 존재한다.

요청적합한 메서드
조회(READ)GET
추가(Create)POST
갱신(Update)PUT / PATCH
삭제(Delete)DELETE

PUT과 PATCH의 차이

PUT : 리소스의 모든 것을 업데이트 한다.
PATCH : 리소스의 일부를 업데이트 한다.

참고

Ajax
HTTP 요청 메서드
SSR

느낀점

이해가 안될땐 적극적으로 손코딩을 해야겠다. 9시부터 1시간동안 열심히 알고리즘을 풀어봐야겠다. 안좋은 버릇이 또 나왔다. 나는 못풀거야 생각하면 안되고 못풀더라도 이해하기위해 별짓을 다해봐야겠다.

profile
DONE is better than PERFECT

1개의 댓글

comment-user-thumbnail
2021년 9월 6일

맞는말씀입니다...

답글 달기