본문으로 바로가기

프로토콜

category IT Technical 2020. 1. 29. 18:29
    반응형

    protocols 은 프로그램에서 사용하는 통신 규약으로 데이터의 일정형태를 통해서 상호 알고리즘을 통해 정보교환을 진행함.

    HTTP

    1. Connectless & Stateless
      • 요청과 응답으로 구성되며 응답이 완료된 후 접속이 끊어짐. 그렇게 때문에 유저의 상태정보를 가질 수 없음. 그래서 세션과 쿠키 기술이 생겨남.
      • 장점 : 많은 요청을 처리할 수 있음
      • 단점 : 비연결지향성으로 인해 유저의 정보를 유지할 수 없는 단점이 있었지만 세션과 쿠키로 해결함.
    2. GET
      • URL로 데이터를 전송하는 방식. 데이터를 URLEncoder를 해야함. 수신시에는 서블릿에서 자동 Decoder 처리 해줌.

    URI, URN, URL

    • 자원의 위치를 알려주기 위한 프로토콜
    • 예시
      1. http://www.joinc.co.kr/index.php를 분석해보자.
      2. http : 자원에 접근하기 위해서 http 프로토콜을 사용한다.
      3. www.joinc.co.kr : 자원의 인터넷 상에서의 위치는 www.joinc.co.kr이다. 도메인은 ip 주소로 변환되므로, ip 주소로 서버의 위치를 찾을 수 있다.
      4. index.php : 요청할 자원의 이름이다.
      5. 이렇게 "프로토콜", "위치", "자원명"으로 (인터넷 상에서) 어디에 있던지 자원에 접근할 수 있다.

    1. URI
      • Uniform Resource Identifier
    2. URN
      • Uniform Resource Name
    3. URL
      • Unifor Resource Location

    SOAP

    1. Soap이란?

    -SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 **HTTP,HTTPS,SMTP등을 사용하여 XML기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 형태의 프로토콜**

    -SOAP은 웹 서비스(Web Service)에서 기본적인 메시지를 전달하는 기반

    2. Soap 작동원리

    대다수의 방화벽이 웹 포트인 80 포트만 허용하기 때문에 SOAP은 대부분 HTTP에 의존하여 메시징 처리가 이루어진다. SOAP이 인터넷을 통한 메시징 처리의 표준으로 자리 잡을 수 있었던 이유는 HTTP 위에 SOAP이 올라갈 수 있기 때문이다. HTTP위 에 SOAP이 올라간다는 것은 HTTP의 요청과 응답에 메시지에 SOAP 메시지가 포함될 수 있다는 것을 의미한다.

    SOAP 스펙은 SOAP 메시지들이 단방향(one-way)이 아니라 양방향(two-way)이라고 말하고 있다 서버뿐 아니라 클라이언트도 SOAP메시지를 해석할 수 있어야 한다.

    SOAP에 HTTP를 이용하는 이유· HTTP는 이미 널리 구현되어 있으며, 이해하 기 쉬운 프로토콜이다.· 그 자체가 가지고 있는 요청/응답 패러다임이 RPC와 잘 들어 맞는다.· 이 미 대부분의 방화벽이 HTTP에서 작업할 수 있도록 설정되어 있다.· HTTP는 보안 소켓 레이어(Secure Sockets Layer, SSL)를 이용하여 쉽게 보안을 구축 할 수 있다.· 현재의 주 컴포넌트 기술로 일컬어지는 JAVA, CORBA, COM 등은 목적은 비슷하지만 목적을 구현하는 방법은 매우 다르므로 호환성을 기대하기 어렵다. SOAP은 TCP나 HTTP뿐 만 아니라 SMTP 같은 다양한 프로토콜과도 함께 사용할 수 있는 것이다. 메시징 서버를 사용해서 메시지 처리를 할 때와 마찬가지로, SOAP은 기본적으로 단방향으로 메시지를 보낸다. 송신자는 메시지를 보내지만, 수신자로부터 메시지를 받지는 않는다. 하 지만 송신자가 메시지를 보내고 그 결과로 다시 SOAP 프로토콜을 통해 메시지를 받는 것은 가능하다.

    3. Soap 메시지 구조

    SOAP 메시지는 크게 SOAP Envelope, SOAP Header, SOAP Body, SOAP Fault로 구성되어있다.

    · SOAP Envelope : Envelope는 SOAP 메 시지를 감싸는 가장 상위의 요소이다. Envelope는 Header와 Body를 가질 수 있다. ·

    SOAP Header : Header는 메시지에서 필수적인 요소는 아니지만 SOAP 메시지에 기능을 추가 하는 역할을 담당한다. 여 러 가지 정보를 헤더에 담기 위해 여러 개의 블록으로 구성되어 있으며, Header는 Envelope 태그 다음에 가장 먼저 나오는 항목이어야 한다. 보통 Header는 인코딩, 인증, 트랜잭션 같은 관리적인 문제에 사용된다. ·

    SOAP Body : Body는 SOAP을 통해 전송할 데이터로 채워진다. 여러 개의 블록으로 구성될 수 있으며, 요청할 때 요청할 웹 서비스의 이름과 매개변수로 채워지고, 응답할 때는 결과로 채워진다. ·

    SOAP Fault : SOAP 처리를 한 후 발생하는 에러 처리 메시지가 이 영역에 채워진다.

    SOAP Fault는 에러에 대한 자세한 내용을 기술할 수 있도록 다음과 같이 여러 개의 요소를 지원한다.

    • : 에러의 종류를 코드로 구분할 수 있도록 해준다. 웹 서비스 소비자는 이 코드를 보고 어떤 종류의 에러가 발생했는지 알 수 있다. SOAP에는 SOAP 메 시징에서 일어날 수 있는 기본 코드를 정의하고 있고 웹 서비스 제공자가 별도로 정의할 수도 있다.

    • : 코드가 기계적인 내용인 데 반해, 스트링은 사람이 에러에 대한 내용을 읽고 이해할 수 있도록 해준다.

    • : 메시징 처리를 하는 중에 어떤 부분에서 에러가 발생했는지 알릴 때 사용된다.

    • : Body에 관련된 데이터 때문에 SOAP 메시징이 성공하지 못했을 경우에 사용된다. 만 약 에러가 발생했는데 부분이 없다면, Body와 관련된 부분에서 에러가 발생하지 않았다는 것을 알 수 있다.

    반응형