응답 프로토콜 구조
응답 프로토콜이 요청 프로토콜과 다른 점은 가장 위에 Request line이 아닌 'Status line'이 온다는 것이다.
1. Status line
HTTP 버전 + 공백 + 상태코드 + 공백 + 상태문구
상태코드
- 200번대: 정상적인 통신이 완료되었을 때
- 400번대: 클라이언트의 잘못
👉 URI를 잘못 썼거나 권한이 없는데 요청한 경우
- 500번대: 서버의 잘못
👉 프로그램이 터졌거나 코드를 잘못 짠 경우
일반 + (요청(요청시)/ 응답(응답시)) + 항목 헤더
- Content-length: 바디에 포함된 내용의 길이
- Content-type: 바디에 들어있는 컨텐츠 종류(HTML은 text/html)
- Cookie: 서버로부터 받은 쿠키를 다시 서버에게 보내줌
- Host: 요청된 URL에 나타난 호스트명 상세하게 표시
👉 http 1.1 버전에서는 필수임!
- User-Agent: 클라이언트 프로그램에 대한 정보를 서버에 제공
👉 핸드폰으로 접속했는지, PC로 접속했는지, 운영체제 혹은 웹브라우저의 버전이 무엇인지에 대한 정보를 제공함
- Server: 웹 서버가 어떤 종류의 서버를 쓰는지 알려줌
👉 안알려줄 수도 있음!(서버 정보가 공개되면 보안 문제가 생길 수도 있음)
- Set-Cookie: 쿠키를 생성하고 브라우저에게 보낼 때 사용하며, 해당 쿠키 값을 브라우저가 서버에게 다시 보낼 때 사용