웹의 동작 원리

seb·2023년 2월 3일
0

웹 지식

목록 보기
1/2

📌 쿠키와 세션


쿠키

서버에서 클라이언트로 전해져서 브라우저에 저장되는 작은 크기의 데이터로 키/값 구조를 가지며 데이터 저장 유효 기간을 가지고 있다.

클라이언트가 서버에 로그인 요청을 하고 서버에서 로그인 성공을 응답으로 주는 일련의 과정이 있을 때, HTTP는 각각의 요청과 응답이 종료되었을 때 연결되지 않고, 상태를 기억하지 않는 Stateless 라는 특징을 가지고 있다. 이러한 특징은 서버의 과부하를 방지하는 장점이 있지만 연결성이 없기 때문에 쿠키가 사용되는 것이다. 쿠키를 통해 클라이언트는 서버와의 일련의 작업들을 연결성을 가질 수 있다.

다만, 취약점이 있을 수 있기 때문에 민감한 정보는 담기지 않도록 해야 하며 서버에서만 쿠키값을 조작할 수 있도록 하는 httpOnly, 보안 연결에서만 쿠키를 사용하는 secure를 활용해야 한다.


세션

쿠키의 단점을 보완하기 위해, Session ID 하나를 쿠키에 담아 보낸다.

기존에 담겨 있던 여러 정보들은 서버에 세션 저장소에 저장되어 Session ID에 매핑된 상태 데이터를 기반으로 클라이언트에 응답이 이루어지도록 한다. 클라이언트의 민감한 정보 노출 방지와 지속적인 쿠키 전송을 통한 리소스 비용을 절감한다는 장점이 있다. 다만, 세션 저장소는 서버 측 성능에 영향을 미칠 수 있다.


📌 네트워크, IP, Port, DNS

네트워크

두 대 이상의 컴퓨터가 연결된 통신망


네트워크 내에서 연결된 각각의 컴퓨터들을 호스트(Host)라고 부른다. 동일한 네트워크 내에서 호스트간의 통신을 가능하게 해 주는 매개체, 장비가 스위치(switch)이다.
다만, 인터넷으로 다양한 정보를 접근할 수 있는 것은 서로 다른 네트워크에 접근할 수 있기 때문이지만 switch는 서로 다른 네트워크에는 접근할 수 없다.
그래서 라우터(router)가 등장한다. 스위치의 기능을 포함하며 서로 다른 네트워크 간의 통신을 가능하도록 한다. 이를 친숙하게 바꿔보면 공유기라고 할 수 있겠다. 이렇게 서로 다른 네트워크가 연결되어 이루어진 거대 네트워크를 인터넷이라고 한다.


IP

Internet Protocol

컴퓨터 간 데이터를 주고 받는 네트워크 계층의 규약.

데이터의 전달에는 필요한 목적지 컴퓨터 정보가 필요하다. IP 주소는 네트워크에서 컴퓨터가 부여받는 고유한 주소이다. IP에는 크게 두 가지의 체계가 있다. IPv4는 32bit의 용량을 가질 수 있었으나 IP 주소 자원이 부족해지며 새로운 주소 체계로 IPv6, 128 bit 용량을 가진 체계를 병행 사용하고 있다.

IPv4 주소의 구조 체계는 다음과 같다.

1100000010101000000000000000011

32비트 주소를 8비트 씩 분할 하여 각 2진수를 10진수로 변환하게 되면 192.168.0.3과 같다.
각 마디의 숫자는 0.0.0.0 ~ 255.255.255.255 범위의 IP 주소를 갖는다.

ISP(Internet Service Provider) 인터넷 서비스 제공자 (sk,kt,LG)는 사용자들에게 공인 IP를 할당한다. 공인 IP(Public IP)는 전체 인터넷 망에서 고유하게 식별 가능한 주소이다.
공인 IP 주소를 할당받은 공유기를 통해 사설 IP를 할당받게 된다. 이는 모든 장비가 공인 IP를 할당받지 않아도 인터넷을 사용할 수 있게 해준다. 사설 IP(Private IP)는 가정의 LAN과 같은 네트워크에서 할당되는 주소이다. 외부와 통신할 때만 공인 IP를 사용하고 내 컴퓨터의 IP 주소는 공유기에서 할당하는 사설 IP이다.

127.0.0.1 는 localhost로 자기 자신을 가리키는 특수한 IP이다.


Port

하나의 컴퓨터에는 다양한 서비스가 실행되고 있기에 IP 주소만으로는 어떤 것이 최종 목적지인지 알 수 가 없다. Port는 하나의 컴퓨터에서 실행되는 다양한 어플리케이션,서비스를 구분하는 역할을 한다. 특정 범위의 포트는 고정적으로 사용되고 있다. 대표적으로 HTTP : 80 / HTTPS : 443 / SMTP : 25 / FTP : 21 가 있다. 웹 서비스를 제공할 때 접근하려는 서비스의 목적지 포트를 정확하게 설정하는 것에 유의해야 한다.


DNS

Domain Name Server

URL을 해석하여 IP 주소로 반환하는 서버

사용자가 주소창에 URL을 입력하면 DNS Server에서 맵핑 정보를 찾고 해당하는 IP 주소를 다시 브라우저로 전송하고 최종적으로 사용자는 전송 받은 IP 주소로 접속을 하게 되는 것이다.


0개의 댓글