웹 동작 방식
client → web server → db
client → was(web application server) → db
client → web server → was(web application server) → db
사용자가 브라우저에 URL을 입력하면 브라우저는 DNS를 통해 입력 받은 URL과 매칭되는 IP를 반환 받습니다.
HTTP 프로토콜을 사용하여 HTTP요청 메세지를 생성한 후, TCP/IP 연결을 통해 해당 IP의 서버로 메세지가 전송됩니다.
요청 메세지를 전달 받은 해당 서버는 요청에 대한 HTTP 응답 메세지를 생성하여 해당 클라이언트에게 전송합니다.
도착한 HTTP 응답 메세지는 웹 페이지 데이터로 변환되고, 웹 브라우저에 의해 출력 되어 사용자가 볼 수 있게 됩니다.
TCP와 HTTP의 차이
TCP는 연결형 프로토콜이고, HTTP는 비 연결형 프로토콜입니다.
TCP는 양방향 통신이 가능하고, HTTP는 단방향 통신만 가능합니다.
TCP는 전송 계층 프로토콜이고, HTTP는 응용 계층 프로토콜 입니다.
OSI 7계층 (https://jhnyang.tistory.com/194)
- OSI란 Open System Interconnection의 약자로 개방형 시스템이라는 뜻.
- 상이한 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공하기 때문에 필요하다.
- A-P-S-T-N-D-P (아파트 스톤 디피)
- 제 1계층 물리계층(Pyhysical Layer) : 데이터를 전기적 신호로 바꾸어 주는 계층, 하드웨어적인 특성
- 제 2계층 데이터 링크 계층(Data Link Layer)
- 같은 네트워크(직접 연결된 서로 다른 2개 이상의 네트워크)에 있는 컴퓨터들의 데이터 전송 담당 (MAC주소)
- Framing 은 Data-link Layer에 속하는 작업들 중 하나입니다. → 랜카드에 구현되어있음
- 제 3계층 네트워크 계층(Network Layer) :
- 패킷(데이터+IP) 전달, 라우팅 프로토콜을 기반으로 가장 효율적인 경로를 선택하여 패킷을 전송할 수 있게 함
- IP 프로토콜 헤더를 붙여 캡슐화를 수행한 후 패킷을 전송, IP(논리적 주소) → 주소 / MAC(물리적 주소) → 표지판
- 제 4계층 전송 계층(Transport Layer)
- 포트 번호 : 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야 하는 정수 값
- 포트번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스까지 데이터가 도달하게 하는 것
- 제 5계층 세션 계층(Session Layer) : 데이터가 통신하기 위한 논리적인 연결
- 제 6계층 표현 계층(Presentation Layer) : 데이터의 형식을 정의하는 계층
- 제 7계층 응용 계층(Application Layer) : http 통신
TCP와 UDP의 차이
TCP는 연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정합니다. 그렇기 때문에 높은 신뢰성을 보장하지만 속도가 비교적 느리다는 단점이 있습니다. UDP는 비 연결 형 서비스로 신뢰성이 떨어진다는 단점이 있지만, 수신 여부를 확인하지 않기 때문에 속도가 빠릅니다. 그러므로 TCP는 중요한 파일 교환과 같은 경우에 쓰이고, UDP는 실시간성이 중요한 스트리밍에 자주 사용됩니다.
GET과 POST 차이
GET은 데이터를 조회하기 위해 사용하는 방식으로, 데이터를 헤더에 추가하여 전송하는 방식 입니다. URL에 데이터가 노출되기 때문에 보안적으로 중요한 데이터를 포함해서는 안됩니다.
POST는 데이터를 추가 또는 수정하기 위해 사용되는 방식으로, 데이터를 바디에 추가하여 전송하는 방식입니다. 완전히 안전하다는 것은 아니지만 URL에 데이터가 노출되지 않아 GET보다는 안전합니다.
HTTP 프로토콜이란
HTTP(Hyper Text Transfer Protocal)이란 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜입니다. HTTP는 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동합니다. HTTP는 상태를 가지고 있지 않는 Stateless(무상태) 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성됩니다.
stateless(무상태)
서버가 클라이언트의 상태를 보존하지 않음, 서버 확장성 높음
예) 로그인이 필요없는 단순한 서비스 소개 화면
실무적 한계로 쿠키나 세션 사용 → 상태유지는 최소한으로 사용
'CS 지식' 카테고리의 다른 글
CS 준비 - 운영체제 (0) | 2023.10.11 |
---|---|
CS준비 - 자료구조 (0) | 2023.10.02 |
댓글