http

    HTTP 버전별 특징 정리

    HTTP 0.9 (1991년) HTTP의 초기 버전 요청 메시지가 단일 라인으로 구성되고 GET 메서드만 사용 가능 요청 및 응답 헤더가 없고 HTML 문서만 전송 가능 응답 메시지에 상태 코드가 없고 문서 파일 자체만 전송 HTTP 1.0 (1996년) GET, POST, HEAD 메서드 사용 가능 메타데이터를 나타내는 헤더가 메시지에 추가됨. Content-Type 헤더를 사용해서 HTML외에 다른 형식의 데이터도 전송 가능 요청 메시지에 프로토콜 버전과 메서드를 포함 응답에 상태 코드가 추가됨. 요청을 보낼 때 마다 매번 TCP 연결을 새로 설정해야하는 단점 존재 HTTP 1.1 (1997년) Keep-Alive 기능을 통해 일정 시간 또는 횟수 동안 연결을 닫지않고 유지 Persistent Con..

    HTTP 메시지와 구성 요소

    1. HTTP 메시지 1) 개요 HTTP는 서버-클라이언트 구조로, 클라이언트가 요청하고 서버가 응답하는 단방향 통신이다. 이때 각 호스트가 보내는 데이터는 HTTP 메시지 구조를 가진다. HTTP 메시지는 요청 메시지와 응답 메시지로 나뉘고 크게 라인, 헤더, 바디로 구성된다. 2) 요청 메시지 클라이언트가 서버에게 전송하는 데이터 라인(Line) HTTP 메서드 요청할 리소스의 경로 또는 이름 (URI) 프로토콜 버전 헤더(Header) 요청 메시지의 메타데이터를 포함하는 부분 미디어 타입, 요청 호스트 정보 등 요청에 대한 부가적인 정보를 나타낸다. Host, User-Agent, Accept, Content-Type 등이 있다. Host와 User-Agent는 각각 요청 호스트 IP와 클라이언트 ..

    HTTP vs HTTPS (feat. 대칭키, 공개키)

    1. HTTP란? 1) 개요 HTTP(HyperText Transfer Protocol)는 두 네트워크 장치 간 하이퍼텍스트 전송을 위한 프로토콜이다. 주로 웹 브라우저와 서버가 웹 페이지(HTML) 문서를 주고 받을때 사용된다. HTML (HyperText Markup Language) 태그를 사용해 하이퍼텍스트로 이루어진 문서 또는 데이터를 구조화한 형식 응용 계층 프로토콜로서 TCP/IP를 사용하며 80번 포트를 사용한다. 전송 과정에서 평문으로된 데이터가 제3자에게 노출될 수 있어 보안에 취약하다. 2) 특징 A. 서버-클라이언트 구조 클라이언트가 요청하면 서버가 응답하는 단방향 통신이다. 서버가 먼저 클라이언트에게 요청 메시지를 보낼 수 없다. B. 무상태성 (Stateless) 서버는 클라이언..

    [Sesac IOS] 22일차 TIL

    22일차 수업 내용을 정리한 글입니다. Learned HTTP vs Socket 1) 소켓의 특징 클라이언트의 요청 없이도 데이터를 주고 받을 수 있는 양방향 통신 연결을 계속 유지하기 때문에 상대적으로 리소스를 많이 사용함. 대표적으로 채팅 앱에서 서버가 클라이언트에게 메시지를 전달하는데 사용 2) HTTP 통신 클라이언트의 요청이 있어야 데이터를 주고받을 수 있는 단방향 통신 데이터를 받기 위해서는 반드시 서버에 요청을 보내야함. 요청과 응답을 보낼 때만 연결되기 때문에 상대적으로 리소스를 덜 사용함. (HTTP 통신의 특징 중 비연결성) 3) HTTPS TCP와 HTTP 사이에서 작용하며 데이터 패킷을 암호화하는 역할 URL은 노출되지만 쿼리스트링과 파라미터는 암호화되어 전송 HTTP는 통신 과정..

    [Sesac IOS] 21일차 TIL

    21일차 수업을 듣고 새로 배운 내용을 정리한 글입니다. Learned HTTP (Hyper Text Transfer Protocol) 네트워크(인터넷)를 통해 클라이언트와 서버가 데이터를 주고받을 수 있는 통신 규약 메시지가 문자(Text)로 구성되기 때문에 의도치않은 누군가가 메세지를 읽을 수도 있다. 클라이언트와 서버가 데이터 전송 시 서로간의 약속(통신 규약)을 지키기 때문에 통신 가능 네트워크 통신에 필요한 것 3가지 : 요청과 응답(HTTP 메시지), HTTP 메서드, 인증 키 1) HTTP 통신의 특징 단방향 통신 : 클라이언트가 요청하고 서버가 응답하는 방식 데이터를 주고 받기 위해서 반드시 클라이언트가 요청을 해야함. 비연결성 : 클라이언트가 요청할때마다 매번 새로운 연결을 생성함. 계속..