서버 측으로부터 클라이언트 측으로 송신되는 리스폰스 메세지에 적용된 헤더로 리스폰스의 부가 정보나 서버의 정보, 클라이언트에 부가 정보 요구 등을 나타냄.
Accept-Ranges:bytes
서버가 리소스의 일부분만 지정해서 취득할 수 있는 Range 리퀘스트를 접수할 수 있는 지 여부를 전달. 지정 가능한 필드 값은 2개. 수신 가능한 경우에는 "bytes", 수신 불가능한 경우에는 "none".
Age: 600
얼마나 오래 전에 오리진 서버에서 리스폰스가 생성되었는지를 전달.
필드값의 단위는 초.
ETag: "82e22289329292409da39020380892"
엔티티 태그라고 불리며 일의적으로 리소스를 특정하기 위한 문자열을 전달. 서버는 리소스마다 ETag 값을 할당. 리소스가 갱신되면 ETag 값도 갱신.
강한(strong) ETag, 약한(weak) ETag 값으로 구별.
엔티티가 아주 조금 다르더라도 값은 무조건 변경
ETag: "Usagi-1234"
리소스가 같다는 것만을 의미
ETag: W/"usagi-1234"
Location: http://www.usagidesign.jp/sample.html
리스폰스의 수신자에 대해서 Request-URI 이외의 리소스 액세스를 유도하는 경우 사용.
Proxy-Authenticate: Basic realm="Usagidesign Auth"
프록시 서버에서의 인증 요구를 클라이언트에 전달.
Retry-After: 120
클라이언트가 일정 시간 후에 리퀘스트를 다시 시행해야 하는 지를 전달.
Server: Apache/2.2.17(Unix)
Server: Apache/2.2.6 (Unix) PHP/5.2.5
Vary: Accept-Language
캐시를 컨트롤하기 위해 사용.
WWW-Authenticate: Basic realm="Usagidesign Auth"
HTTP 액세스 인증에 사용. Request-URL에 지정했던 리소스에 적용할 수 있는 인증 스키마와 파라미터를 나타내는 challenge를 전달.
리퀘스트 메세지와 리스폰스 메세지에 포함된 엔티티에 사용되는 헤더로 콘텐츠의 갱신 시간 같은 엔티티에 관한 정보를 포함.
Allow: GET,HEAD
Request-URL에 지정된 리소스가 제공하는 메소드의 일람을 전달.
Content-Encoding: gzip
서버가 엔티티 바디에 대해서 실시한 콘텐츠 코딩 형식을 전달.
Content-Language: en
엔티티 바디에 사용된 자연어(한국어나 영어 등)를 전달.
Content-Length: 15000
엔티티 바디의 크기(단위는 bytes)를 전달.
Content-Location: http://www.hackr.jp/index-ja.html
메세지 바디에 대응하는 URL을 전달.
Content-MD5: OGFkZDUwNGVh3N2MxMDl3iklwi9vLwis9j==
메세지 바디가 변경되지 않고 도착했는지 확인하기 위해 MD5 알고리즘에 의해 생성된 값을 전달.
Content-Range: bytes 5001-10000/10000
범위를 지정해서 일부분만을 리퀘스트하는 Range 리퀘스트에 대해서 리스폰스를 할 때에 사용.
Content-Type: text/html; charset=UTF-8
엔티티 바디에 포함되는 오브젝트의 미디어 타입을 전달.
Expires: Wed, 04 Jul 2012 08:26:05 GMT
리소스의 유효 기한 날짜 전달.
Last-Modified: Wed, 24 October 2021 12:30:10 GMT
리소스가 마지막으로 갱신되었던 날짜 정보를 전달.
웹 페이지를 볼 때는 인터넷 익스플로러 같은 웹 브라우저 사용.
메일을 보내고 받을 때는 Outlook 같은 메일 프로그램 사용.
애플리케이션은 사용자가 하고 싶은 일을 할 수 있도록 도움.
응용 계층에서 애플리케이션이 동작.
응용 계층 = 5계층의 세션 계층 + 6계층 표현 계층
프로토콜 | 내용 |
---|---|
HTTP | 웹 사이트 접속 |
DNS | 이름 해석 |
FTP | 파일 전송 |
SMTP | 메일 송신 |
POP3 | 메일 수신 |
WWW == W3 == 웹(Web)
WWW는 아래와 같이 3가지 기술이 사용.
클라이언트(웹 브라우저)는 웹 사이트를 보기 위해 서버(웹 서버 프로그램)의 80번 포트를 사용하여 HTTP 통신을 함. 클라이언트 측에서 HTTP 요청(request)를 보내고 서버에서 HTTP 응답(response)를 반환.
HTTP/1.0 : 요청을 보낼 때마다 연결/연결 종료를 반복.
HTTP/1.1 : Keepalive 기능을 통해 연결을 한 번 수립하면, 데이터 교환을 마칠 때까지 유지. 데이터 교환을 모두 끝내면 연결을 끊음. 요청과 응답의 순서대로 처리하는 특징이 있어, 요청을 처리하는 데 시간이 길어지면 다음 요청에 대한 처리가 늦어짐.
HTTP/2 : HTTP/1.1의 기능에서 요청을 보낸 순서대로 응답을 반환하지 않아도 됨.
www.gilbut.co.kr -----> 222.235.64.222
도메인 이름 : 컴퓨터나 네트워크를 식별하기 위해 붙어진 이름
호스트 이름(서버 이름) : 도메인 이름 앞에 있는 www
DNS : URL을 IP 주소로 변환하는 서비스(시스템)
DNS 서버는 전 세계에 흩어져 있고 모두 계층적으로 연결. 요청받은 DNS 서버가 해당 도메인 이름의 IP 주소를 모르는 경우에는 다른 DNS 서버에 질의.
메일을 보내는 데 사용되는 프로토콜은 SMTP(포트번호 25).
메일을 받는 데 사용되는 프로토콜은 POP3(포트번호 110).
컴퓨터 1 <----1. 세션 시작을 통지----> 메일 서버 1
컴퓨터 1 <----2. 송신자의 메일 주소 통지----> 메일 서버 1
컴퓨터 1 <----3. 목적지 메일 주소 통지----> 메일 서버 1
컴퓨터 1 <----4. 메일 본문 전송 통지----> 메일 서버 1
컴퓨터 1 <----5. 메일 본문 송신 ----> 메일 서버 1
컴퓨터 1 <----6. 세션 종료를 통지----> 메일 서버 1
SMTP는 메일 서버 1이 메일 서버 2로 메일을 전송할 수 있음. 메일 서버에는 메일 박스라고 하는 메일을 보관해주는 기능이 있음. 메일 서버 2는 POP3를 사용해 메일 서버 2의 메일 박스에서 메일을 가져와 컴퓨터 2로 전송.
메일을 수신할 때는 사용자 이름과 비밀번호를 이용한 사용자 인증이 필요.
메일 서버 2 <----1. 세션 시작을 통지----> 컴퓨터 2
메일 서버 2 <----2. 수신자의 사용자 이름을 통지----> 컴퓨터 2
메일 서버 2 <----3. 수신자의 비밀번호 통지----> 컴퓨터 2
메일 서버 2 <----4. 메일 확인----> 컴퓨터 2
메일 서버 2 <----5. 메일 전송 요청 ----> 컴퓨터 2
메일 서버 2 <----6. 세션 종료를 통지----> 컴퓨터 2