반응형

Archive/Computer Network 7

[Network] 웹 통신의 큰 흐름 ( 브라우저 주소창에 URL 입력 시 과정 )

[Network] 웹 통신의 큰 흐름 ( 브라우저 주소창에 URL 입력 시 과정 ) 웹 통신의 큰 흐름우리가 Chrome 을 실행시켜 주소창에 특정 URL 값을 입력시키면 어떤 일이 일어나는가?in 브라우저url 에 입력된 값을 브라우저 내부에서 결정된 규칙에 따라 그 의미를 조사한다.조사된 의미에 따라 Request 메시지를 만든다.만들어진 메시지를 웹 서버로 전송한다.이 때 전송하는 과정은 브라우저가 직접하는 것이 아니라 위에서 설명한 운반 구조에 의뢰하여 메시지를 전달한다. 우리가 택배를 보낼 때 직접 보내는게 아니라, 이미 서비스가 이루어지고 있는 택배 시스템(택배 회사)을 이용하여 보내는 것과 같은 이치이다. in 프로토콜 스택, LAN 어댑터프로토콜 스택(운영체제에 내장된 네트워크 제어용 소프..

[Network] HTTP vs HTTPs

[Network] HTTP vs HTTPs HTTP 와 HTTPSHTTP 의 문제점HTTP 는 평문 통신이기 때문에 도청이 가능하다.통신 상대를 확인하지 않기 때문에 위장이 가능하다.완전성을 증명할 수 없기 때문에 변조가 가능하다.위 세 가지는 다른 암호화하지 않은 프로토콜에도 공통되는 문제점들이다.TCP/IP 는 도청 가능한 네트워크이다.TCP/IP 구조의 통신은 전부 통신 경로 상에서 엿볼 수 있다. 패킷을 수집하는 것만으로 도청할 수 있다. 평문으로 통신을 할 경우 메시지의 의미를 파악할 수 있기 때문에 암호화하여 통신해야 한다.보안 방법통신 자체를 암호화 SSL(Secure Socket Layer) or TLS(Transport Layer Security)라는 다른 프로토콜을 조합함으로써 HTTP..

[Network] TCP vs UDP

[Network] TCP vs UDP UDPUDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)는 비연결형 프로토콜 이다. IP 데이터그램을 캡슐화하여 보내는 방법과 연결 설정을 하지 않고 보내는 방법을 제공한다. UDP는 흐름제어, 오류제어 또는 손상된 세그먼트의 수신에 대한 재전송을 하지 않는다. 이 모두가 사용자 프로세스의 몫이다. UDP가 행하는 것은 포트들을 사용하여 IP 프로토콜에 인터페이스를 제공하는 것이다.종종 클라이언트는 서버로 짧은 요청을 보내고, 짧은 응답을 기대한다. 만약 요청 또는 응답이 손실된다면, 클라이언트는 time out 되고 다시 시도할 수 있으면 된다. 코드가 간단할 뿐만 아니라 TCP 처럼 초기설정(initial setup)에서 요구되는 프로토..

[Network] (TCP) 3-way-handshake & 4-way-handshake

[Network] (TCP) 3-way-handshake & 4-way-handshake 연결 성립(Connection Establishment) 1) 클라이언트는 서버에 접속을 요청하는 SYN(a) 패킷을 보낸다. 2) 서버는 클라이언트의 요청인 SYN(a)을 받고 클라이언트에게 요청을 수락한다는 ACK(a+1)와 SYN(b)이 설정된 패킷을 발송한다. 3) 클라이언트는 서버의 수락 응답인 ACK(a+1)와 SYN(b) 패킷을 받고 ACK(b+1)를 서버로 보내면 연결이 성립(establish)된다. 연결 해제(Connection Termination) 1) 클라이언트가 연결을 종료하겠다는 FIN플래그를 전송한다.2) 서버는 클라이언트의 요청(FIN)을 받고 알겠다는 확인 메세지로 ACK를 보낸다.2-..

[Network] GET vs POST 방식

[Network] GET vs POST 방식 HTTP 의 GET 과 POST 비교둘 다 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요청할 때 사용하는 방식이다. 하지만 둘의 특징을 제대로 이해하여 기술의 목적에 맞게 알맞은 용도에 사용해야한다.GET우선 GET 방식은 요청하는 데이터가 HTTP Request Message의 Header 부분의 url 에 담겨서 전송된다. 때문에 url 상에 ? 뒤에 데이터가 붙어 request 를 보내게 되는 것이다. 이러한 방식은 url 이라는 공간에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다. 또 보안이 필요한 데이터에 대해서는 데이터가 그대로 url 에 노출되므로 GET방식은 적절하지 않다. (ex. password)POSTPOST 방식의 req..

[Network] HTTP 네트워크 기본 개념 정리(2)

HTTP 네트워크 기본 개념 정리 (2) □ HTTP에 대하여..- 클라이언트와 서버 간에 통신을 한다. - Request와 Response를 교환하여 성립 - HTTP는 상태를 유지하지 않는 프로토콜(Stateless) - HTTP 메소드· GET : 리소스 획득ㄴRequest URI로 식별된 리소스를 가져올 수 있도록 요구 · POST : 엔티티 전송ㄴ엔티티를 전송하기 위해서 사용ㄴGET으로도 전송할 수 있지만, 자주 사용하지 않고 일반적으로 POST 사용 · PUT : 파일 전송ㄴ파일을 전송하기 위해서 사용ㄴFTP에 의한 파일 업로드와 같이, 리퀘스트 중에 포함된 엔티티를 리퀘스트 URI로 지정한 곳에 보존하도록 요구 · HEAD : 메시지 헤더 취득ㄴGET과 같은 기능이지만 메시지 바디는 돌려주지..

[Network] HTTP 네트워크 기본 개념 정리(1)

HTTP 네트워크 기본 개념 정리(1) □ HTTP- HTTP/0.9HTTP가 등장한 때는 1990년 → 이 당시 HTTP가 정식 사양서는 아니었음1.0 이전이라는 의미에서 HTTP/0.9로 불리고 있다. - HTTP/1.01996년 5월 공개, RFC1945 발행, 현재에도 아직 많은 서버상에서 현역으로 가동되고 있는 프로토콜 사양 - HTTP/1.11997년 1월 공개, RFC2068(현재는 RFC2616이 최신) - HTTP/2.0차세대를 담당할 프로토콜 □ TCP/IP 관련 개념- 프로토콜 : 서로 다른 하드웨어와 운영체제 등을 가지고 서로 통신을 하기 위해 모든 요소에 필요한 규칙 · ex) 케이블 규격, IP주소 지정 방법, 떨어진 상대를 찾기 위한 방법과 그 곳에 도달하는 순서, 웹을 표시하..

반응형