클라이언트는 리소스를 가지고 오기 위해 서버에 요청을 보낸다. 이 일련의 흐름은 웹에서 HTTP 프로토콜로 이루어진다. 1. TCP/IP 서로 다른 하드웨어와 OS를 가지고 서로 통신을 하기 위해서 필요한 것이 프로토콜이다. 인터넷과 관련된 프로토콜을 모은 것을 TCP/IP라고 한다. TCP/IP는 4개의 계층으로 이루어져 있다. (애플리케이션 계층, 트...
1. Request & Response HTTP는 클라이언트로부터 리퀘스트가 송신되며, 그 결과가 서버로부터 리스폰스로 돌아오는 구조다. 리퀘스트가 없으면 리스폰스도 없다. Request의 구조 : 메소드, URI, 프로토콜 버전, 리퀘스트 헤더 필드, 엔티티 Response의 구조 2. HTTP는 Stateless HTTP는 과거의 리퀘스트/리스폰...
1. 인코딩 메시지 바디와 엔티티 바디의 차이 메시지: HTTP 통신의 기본 단위로 Octet sequence(8 bit)로 구성되고 통신을 통해서 전송된다. 엔티티: 리퀘스트/리스폰스의 Payload(부가물)로 전송되는 정보로 Entity header, Entity Body로 구성된다. HTTP 메시지 바디의 역할은 리퀘스트/리스폰스에 관한 엔티티 바...
1. 2xx 성공(Success) 1) 200: OK 정상 처리됨. GET 메소드의 경우 리퀘스트된 리소스에 대응하는 엔티티가 리스폰스로 보내짐. HEAD 메소드의 경우 메시지 바디 빼고 리스폰스로 돌아옴. 2) 204: No Content 서버가 리퀘스트를 받아 처리하기는 했지만 리스폰스에 엔티티 바디를 포함하지 않음. 3) 206: Partial C...
1. Virtual Host HTTP/1.1에서는 하나의 HTTP 서버에서 여러 개의 웹 사이트를 실행할 수 있음. Virtual Host 기능을 사용하면 물리적으로는 서버가 1대이지만 가상으로 여러 대가 있는 것처럼 설정할 수 있음. 같은 IP 주소에서 다른 호스트명과 도메인 명을 가진 여러 개의 웹 사이트가 실행되고 있는 Virtual Host 시스템...
1. HTTP 헤더 필드 HTTP 프로토콜의 리퀘스트와 리스폰스에는 반드시 메시지 헤더가 포함되어 있다. HTTP 헤더 필드는 헤더 필드 명 : 필드 값 으로 이루어져 있다. 4종류의 HTTP 헤더 필드 : General Header Fields / Request Header Fields / Response Header Fields / Entity Hea...
1. HTTP의 약점 1) 평문이기 때문에 도청 가능 같은 세그먼트의 통신을 도청하는 것은 어려운 일이 아님. 패킷을 수집하기만 하면 됨. 암호화를 해야 됨. 통신 암호화 : SSL이나 TLS을 조합하면 됨. 콘텐츠 암호화 : HTTP 메시지에 담기는 콘텐츠를 암호화. 2) 통신 상대를 확인하지 않기 때문에 위장 가능 누구나 리퀘스트할 수 있음....