네트워크 7

HTTP 주요 헤더

HTTP 주요 헤더 소요시간 : 4 min 요청(Request)에서 사용되는 헤더 From: 유저 에이전트의 이메일 정보 일반적으로 잘 사용하지 않음 검색 엔진에서 주로 사용 요청에서 사용 Referer: 이전 웹 페이지 주소 현재 요청된 페이지의 이전 웹 페이지 주소 A → B로 이동하는 경우 B를 요청할 때 Referer: A를 포함해서 요청 Referer를 사용하면 유입경로 수집 가능 요청에서 사용 referer는 단어 referrer의 오탈자이지만 스펙으로 굳어짐 User-Agent: 유저 에이전트 애플리케이션 정보 클라이언트의 애플리케이션 정보(웹 브라우저 정보, 등등) 통계 정보 어떤 종류의 브라우저에서 장애가 발생하는지 파악 가능 요청에서 사용 e.g. user-agent: Mozilla/5..

네트워크 2022.02.14

HTTP 표현 헤더

HTTP 헤더와 바디 구분 [Wikipedia] List of HTTP header fields Reference [MDN] Content-Type [MDN] MIME types Reference [MDN] Content-Encoding Reference [MDN] Content-Language Transfer-Encoding은 전송 시 어떤 인코딩 방법을 사용할 것인가를 명시합니다. 그러나 현재는 Transfer-Encoding보다는 Content-Encoding을 사용하며, Transfer-Encoding을 사용하는 경우 chunked의 방식으로 사용합니다. chunked 방식의 인코딩은 많은 양의 데이터를 분할하여 보내기 때문에 전체 데이터의 크기를 알 수 없기 때문에 표현 데이터의 길이를 명시해야..

네트워크 2022.02.14

HTTP

저번에 HTTP 와 HTTPS 차이점에서 잠깐 소개를 했다 다시한번 HTTP 에 대해 소개 해보겠다 HTTP 특징 - 클라이언트 서버구조 - 무상태 프로토콜 (Stateless), 비연결성(Connectionless) - HTTP 메세지 - 단순함, 확장 가능 상태 유지 – Stateful 항상 같은 서버가 유지 되야한다. 상태 유지가 되어야하는 프로토콜이라면 클라이언트A의 요청을 서버1이 기억하고 있기 때문에 항상 서버1이 응답해야한다. 만약 서버에 장애가 생긴다면? 만약 서버1이 장애가 난다면 유지되던 상태정보가 다 날아가버리므로 처음부터 다시 서버에 요청해야 한다. ❗️무상태 – Stateless 아무 서버나 호출해도 된다. 무상태 프로토콜이라면 클라이언트A가 요청할 때 이미 필요한 데이터를 다 담..

네트워크 2022.02.14

HTTPS 대칭키 암호화, 비대칭키 암호화

HTTPS는 대칭키 암호화 방식과 비대칭키 암호화 방식을 모두 사용하고 있다. 각각의 암호화 방식은 다음과 같다. 대칭키 암호화 클라이언트와 서버가 동일한 키를 사용해 암호화/복호화를 진행함 키가 노출되면 매우 위험하지만 연산 속도가 빠름 비대칭키 암호화 1개의 쌍으로 구성된 공개키와 개인키를 암호화/복호화 하는데 사용함 키가 노출되어도 비교적 안전하지만 연산 속도가 느림 대칭키는 비교적 쉬운 개념이므로, 비대칭키 암호화에 대해 조금 자세히 살펴보도록 하자. 비대칭키 암호화는 공개키/개인키 암호화 방식을 이용해 데이터를 암호화하고 있다. 공개키와 개인키는 서로를 위한 1쌍의 키이다. 공개키: 모두에게 공개가능한 키 개인키: 나만 가지고 알고 있어야 하는 키 암호화를 공개키로 하느냐 개인키로 하느냐에 따라..

네트워크 2022.02.14

HTTP 와 HTTPS 차이

HTTP [ HTTP(Hyper Text Transfer Protocol)란? ] HTTP(Hyper Text Transfer Protocol)란 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. 즉, HTTP는 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용하고 있다. 따라서 HTTP 서버가 80번 포트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로 요청을 보내게 된다. HTTP는 1989년 팀 버너스 리(Tim Berners Lee)에 의해 처음 설계되었으며, WWW(World-Wide-Web) 기반에서 세계적인 정보를 공유하는데 큰 역할을 하였다. [ HTTP의 구조 ] HTTP는 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한다. HT..

네트워크 2022.02.14

TCP vs UDP

TCP / UDP 란? : 전송계층에서 사용하는 프로토콜로써, 목적지 장비까지 전송한 패킷을 상위의 특정 응용 프로토콜에게 전달하는 것에 목적이 있습니다. 전송방식으로는 TCP와 UDP가 있습니다. 전송계층이란? 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층으로, 쉽게 말해 데이터의 전달을 담당합니다. TCP ( Transmission Control Protocol ) 란? : 연결형 서비스를 지원하는 전송 계층 프로토콜로써, 인터넷 환경에서 기본으로 사용합니다. 호스트간 신뢰성 있는 데이터 전달과 흐름제어를 합니다. 즉, 인터넷상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜 입니다. 일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP..

네트워크 2022.02.14

IP와 IP Packet

IP는 지정한 IP 주소(IP Address)에 패킷(Packet)이라는 통신 단위로 데이터 전달을 합니다. IP 패킷에서 패킷은 pack과 bucket이 합쳐진 단어로 소포로 비유할 수 있습니다.IP 패킷은 이를 데이터 통신에 적용한 것이라고 보면 됩니다. 위 사진처럼 복잡한 인터넷 망 속 수많은 노드들을 지나 "어떻게 클라이언트와 서버가 통신할까?" (여기서 노드는 하나의 서버 컴퓨터를 의미합니다.) "출발지에서 목적지까지 데이터가 무사히 전달되기 위해 어떠한 규칙이 필요하지 않을까?" 그래서 흔히 말하는 "IP(인터넷 프로토콜)" 주소를 컴퓨터에 부여하여 이를 이용해 통신한다. IP는 지정한 IP 주소에 패킷(Packet)이라는 통신 단위로 데이터를 전달한다. IP 패킷에서 패킷은 pack과 buc..

네트워크 2022.02.14