CS/Network 7

제 7장 웹을 안전하게 지켜주는 HTTPS

HTTP의 약점 평문(암호화하지 않은) 통신이기 때문에 도청 가능 통신 상대를 확인하지 않기 때문에 위장 가능 완전성을 증명할 수 없기 때문에 변조 가능 평문이기 때문에 도청 가능 TCP/IP 구조의 통신 내용은 전부 통신 경로의 도중에 엿볼 수 있다. 암호화된 통신도, 암호화되지 않은 통신도 모두 엿볼 수 있다. 암호화된 통신은 메세지 속의 의미는 간파할 수 없어도 암호화된 메세지 자체는 엿볼 수 있다. 도청으로부터 정보를 지키기 위한 방법 중 가장 보급되어 있는 기술은 암호화이다. 1. 통신 암호화 - SSL, TLS라는 다른 프로토콜을 조합해서 HTTP의 통신 내용을 암호화 할 수 있다. - SSL 등을 통해 안전한 통신로를 확립하고 나서 그 통신로를 사용해 HTTP 통신을 한다. - SSL을 조합..

CS/Network 2023.08.31

제 6장 HTTP 헤더

HTTP 프로토콜의 리퀘스트와 리스폰스에는 반드시 메세지 헤더가 포함되어 있는데, 메세지 헤더에는 클라이언트나 서버가 리퀘스트나 리스폰스를 처리하기 위한 정보가 들어있다. Request의 메세지 헤더 리퀘스트 라인 : 메소드, URI, HTTP 버전 리퀘스트 헤더 필드 일반 헤더 필드 엔티티 헤더 필드 그 외 Response의 메세지 헤더 상태라인 : HTTP 버전, 상태 코드 리스폰스 헤더 필드 일반 헤더 필드 엔티티 헤더 필드 그 외 HTTP 헤더 필드 HTTP 헤더 필드는 HTTP 메세지를 구성하는 요소 중 하나로 서버 간의 통신에서 리퀘스트와 리스폰스 모두 사용되고 있고, 부가적으로 중요한 정보를 전달하는 역할을 담당한다. HTTP 헤더 필드의 구조 - 헤더 필드 명 : 필드 값 ex) Conte..

CS/Network 2023.08.27

제 5장 HTTP와 연계하는 웹 서버

가상호스트 HTTP1.1에서는 하나의 HTTP 서버에 여러 개의 웹 사이트를 실행할 수 있다. 가상호스트 기능을 사용하면 물리적으로는 서버가 1대지만 가상으로 여러 대가 있는 것처럼 설정할 수 있다. 인터넷에서 도메인 명은 DNS에 의해 IP주소로 변환되고 나서 액세스하게 된다. 결국 리퀘스트가 서버에 도착한 시점에는 IP주소를 기준으로 액세스 하게 된다. 이 때 같은 서버 안에 같은 IP 주소에 여러 개의 도메인이 있을 경우, 어느 쪽에 대한 엑세스인지 알 수 없다. 따라서 HTTP 리퀘스트를 보내는 경우 호스트명과 도메인명을 완전하게 포함한 URI를 지정하거나, 반드시 Host 헤더 필드에서 지정해야 한다. 통신을 중계하는 프로그램 : 프록시, 게이트웨이, 터널 프록시 서버와 클라이언트의 양쪽 역할을..

CS/Network 2023.04.16

제 4장 결과를 전달하는 HTTP 상태 코드

상태코드는 서버로부터 리퀘스트 결과를 전달한다. 클라이언트가 서버를 향해 리퀘스트를 보낼 때 서버에서 그 결과가 어떻게 되었는지 알려주는 것이 상태 코드의 역할이다. 클래스 설명 1xx Informational 리퀘스트를 받아들여 처리중 2xx Success 리퀘스트를 정상적으로 처리했음 3xx Redirection 리퀘스트를 완료하기 위해서 추가 동작이 필요 4xx Client Error 서버는 리퀘스트 이해 불가능 5xx Server Error 서버는 리퀘스트 처리 실패 대표적인 14개의 상태코드 2xx 성공(Success) 200 OK : 클라이언트가 보낸 리퀘스트를 서버가 정상 처리하였음을 나타낸다. 204 No Content : 이 리스폰스는 서버가 리퀘스트를 받아서 처리하는 데는 성공했지만 리..

CS/Network 2023.04.06

제 3장 HTTP 정보는 HTTP 메세지에 있다.

HTTP 메세지 : HTTP에서 교환하는 정보 리퀘스트 측 HTTP메세지를 리퀘스트 메세지, 리스폰스 측 HTTP 메세지를 리스폰스 메세지라고 부른다. HTTP 메세지는 복수행의 데이터로 구성된 텍스트 문자열이다. 크게 구분하며 메세지 헤더, 메세지 바디로 구성되어 있고, 개행 문자(CR+LF)로 메세지 헤더와 바디를 구분한다. 더보기 HTTP 메세지 구조 [메세지 헤더] 서버와 클라이언트가 꼭 처리해야 하는 리퀘스트와 리스폰스 내용과 속성 등 [CR+LF] CR(carriage return : 16진수 0x0d)와 LF(line feed : 16진수 0x0a) [메세지 바디] 꼭 전송되는 데이터 그 자체 리퀘스트 메세지의 구조 리스폰스 메세지의 구조 [ 메세지 헤더 ] 리퀘스트 라인 리퀘스트 헤더 필드..

CS/Network 2023.03.27

제 1장 웹과 네트워크의 기본

서버에 의뢰를 하는 웹 브라우저 등을 클라이언트(Client)라고 부른다. 클라이언트에서 서버까지 일련의 흐름을 결정하고 있는 것은 웹에서 HTTP(HyperText Transfer Protocol)이라 불리는 프로토콜이다. 네트워크의 기본은 TCP/IP 컴퓨터와 네트워크 기기가 상호간에 통신하기 위해서는 서로 같은 방법으로 통신하지 않으면 안된다. 서로 다른 하드웨어와 운영체제 등을 가지고 서로 통신을 하기 위해서는 모든 요소에 규칙이 필요하게 된다. 이러한 규칙을 프로토콜이라고 부른다. 이렇게 인터넷과 관련된 프로토콜을 모은 것을 TCP/IP라고 부른다. (프로토콜에는 여러가지가 있다. 케이블 규격, IP 주소 지정 방법, 웹을 표시하기 위한 순서 등) TCP/IP에서 중요한 개념 중 하나가 계층(L..

CS/Network 2023.03.23