본문 바로가기

개인공부/Http Network Basic5

5장 - HTTP와 연계하는 웹 서버 5.1 1대로 멀티 도메인을 가능하게 하는 가상 호스트 HTTP/1.1에서는 하나의 HTTP 서버에 여러개의 웹 사이트를 실행할 수 있음 이 때 가상 호스트(Virtual Host) 기능이 사용되며, 물리적으로 서버가 한대지만 가상으로 여러대가 있는 것처럼 설정하는 것이 가능함 클라이언트가 서버에 엑세스할 때 호스트명이나 도메인명이 자주 사용되는데, 이는 DNS에 의해 IP 주소로 변환된 후 엑세스됨 따라서 한대의 서버 안에 여러개의 도메인이 있을 경우 어느쪽에 대한 엑세스인지 알 수 없음 그렇기 때문에 가상 호스트 시스템이 가동중인 경우 HTTP 리퀘스트에 호스트명과 도메인명을 완전하게 포함한 URI를 지정하거나, Host 헤더 필드에 지정해야함 5.2 통신을 중계하는 프로그램 : 프록시, 게이트웨이,.. 2023. 2. 28.
4장 - 결과를 전달하는 HTTP 상태 코드 4.1 상태 코드는 서버로부터 리퀘스트 결과를 전달한다 HTTP 상태 코드 : 클라이언트가 서버를 향해 보낸 리퀘스트에 대한 결과를 알리는 역할 3자리 숫자 + 설명으로 구성 1xx : Informational - 리퀘스트를 받아들여 처리중 2xx : Success - 리퀘스트를 정상적으로 처리했음 3xx : Redirection - 리퀘스트를 완료하기 위해 추가 동작이 필요 4xx : Client Error - 서버가 리퀘스트 이해 불가능 5xx : Server Error - 서버가 리퀘스트 처리 실패 클래스 정의를 지킬시 RFC에서 정의된 상태 코드를 변경하거나 독자의 상태 코드를 만들어도 무관함 상태 코드의 종류는 수십가지이나 실제로 자주 사용되는 것은 14종류 단, 상태 코드의 대부분은 유저가 다.. 2023. 2. 27.
3장 - HTTP 정보는 HTTP 메시지에 있다 3.1 HTTP 메시지 HTTP 메시지 : HTTP에서 교환하는 정보, 복수 행으로 구성 메시지 헤더 / 개행(CR+ LF) / 메시지 바디로 구분 메시지 헤더 : 서버와 클라이언트가 꼭 처리해야하는 리퀘스트 및 리스폰스 내용과 속성 등 CR + LF : CR(Carriage return, 16진수 0x0d), LF(Line feed, 16진수 0x0a) 메시지 바디 : 전송되는 데이터 그 자체 3.2 리퀘스트 메시지와 리스폰스 메시지의 구조 리퀘스트 메시지와 리스폰스 메시지는 모두 메시지 헤더 / 개행 / 메시지 바디로 구성되어있으며 메시지 헤더의 구성이 다름 리퀘스트 메시지의 메시지 헤더 : 리퀘스트 라인 / 리퀘스트 헤더 필드 / 일반 헤더 필드 / 엔티티 헤더 필드 / 그 외 리스폰스 메시지의 메.. 2023. 2. 27.
2장 - 간단한 프로토콜 HTTP 2.1 HTTP는 클라이언트와 서버 간에 통신을 한다 텍스트와 이미지 등과 같은 리소스를 크라이언트가 요구, 서버가 리소스를 제공 두대의 컴퓨터 간에 통신을 할 때, 경우에 따라서는 클라이언트와 서버가 바뀔 수도 있으나 일반적으로 클라이언트와 서버의 역할은 명확하게 구별되어있음 2.2 리퀘스트와 리스폰스를 교환하여 성립 HTTP 통신에서는 클라이언트로부터 리퀘스트(Request)가 송신되며, 그 결과가 서버로부터 리스폰스(Response)로 되돌아옴 따라서 반드시 클라이언트 측으로부터 통신이 시작 // HTTP Request GET /index.html HTTP/1.1 Host: www.hackr.jp Connection: keep-alive Content-Type: application/x-www-fo.. 2023. 2. 27.