응답 메시지
- 다시 요청을 하면 파일 클릭했을 때 나오는 `Headers`에서 `Response Headers`의 `view source`
- https://image.slidesharecdn.com......303
-- 첫 번째 행에는 status(상태)가 나옴
--- 즉, 서버가 응답했을 때 이게 잘 됐는지 잘 안 됐는지 잘 안 됐으면 어떻게 안 됐는지를 알려주는 자세한 정보
--- version (HTTP version)
--- status code : 응답 결과에 대한 것
--- phrase : 응답 결과를 사람이 이해하기 쉽도록 말로 풀어쓴 것
Response Headers
1. status
```
HTTP/1.1 200 OK
```
- 첫 번째 행
- `HTTP/1.1`이라는 포맷을 쓰고 있음
- `200` : status code
-- https://en.wikipedia.org......nse
-- 1xx informational response : 어떤 정보를 주기 위한 것들은 100번대(잘 안 씀)
-- 2xx success : 200번대는 성공했다는 뜻
-- 여기 status code에 들어오는 이 정보가 2xx라고 한다면 아주 긍정적인 메시지
--- 가장 중요한 것 : 200 OK (성공했다는 뜻)
--- 그 다음에 나오는 것들은 성공은 성공인데 디테일하게 사족을 다는 것들
-- 3xx Redirection
--- Redirection : a.com으로 접속하면 서버가 30x를 응답해주게 되면 웹 브라우저가 다른 곳으로 바로 다시 이동
--- 나중에 서버 쪽 애플리케이션들(예 : PHP, NodeJS, Python, Django)을 배우게 되면 그때 자연스럽게 이렇게 나오게 되어 있음
-- 4xx Client errors : 클라이언트 쪽 에러
--- 그 중에 유명한 것 : 404 Not Found
---- 어떤 주소로 접속했는데 서버에 그게 없으면 서버가 왜 없는 거를 요청하냐, 찾을 수 없다고 나오는 것
--- 403 Forbidden도 많이 나옴
---- 접속하면 안 되는 곳에 접속했을 경우 서버가 오면 안 된다, 오는 곳 아니다(관계자 외 출입금지)라고 하는 것
-- 5xx Server errors : 서버 쪽에 문제가 있을 경우
--- 유명 : 500 Internal Server Error
---- 서버 내부적으로 어떤 문제가 있어서 지금은 서비스 할 수 없다는 정보를 보여줄 때 이것을 보내주는 것
2. headers
- `Content-Type: text/html` : 굉장히 중요한 헤더
-- 웹 서버가 응답할 때 이 응답은 `text`고 `html`이라는 컴퓨터 언어이다, 라고 하면 웹 브라우저는 저걸 보고서 그 정보를 HTML로 해석해서 화면에 표시해 줌
-- `coding.jpg`라는 이미지를 클릭하면 `Response Headers`의 `Content-Type: image/jpeg`로 되어 있는 것을 볼 수 있음
- `Content-Length: 1434`
-- 응답하는 이 컨텐츠의 전체 크기는 `1434`라는 사이즈를 보여주는 것
-- 단위는 byte (1434 bytes)
- `Content-Encoding: gzip`
-- 이 컨텐츠는 `gzip`이라는 방식으로 압축해서 이것을 읽으려면 `gzip`으로 본문 압축을 풀어서 읽어야 한다는 내용
- `Last-Modified: Tue, 17 Jul 2018 23:28:26 GMT`
-- 이 정보는 마지막으로 언제 수정되었다는 것을 알려주는 내용
웹 브라우저와 웹 서버가 서로 소통하는 것을 우리가 직접 텍스트로 만들어 보면 웹 브라우저는 요청을 하기 전에 Request Headers를 생성
- 그 다음에 또 웹 브라우저가 웹 서버에게 보내야 할 정보가 있을 수 있음
-- 첫 번째 줄이 `GET`이 아니라 `POST`인 경우
-- Request Headers 뒤에 한 줄 띄우고 웹 서버로 전송할 정보를 담음
-- 메시지를 만든 다음에 인터넷을 통해서 웹 서버에게 보내주면 웹 서버는 Request Headers에 있는 정보를 해석해서 응답 메시지를 만들어 주게 되는 것
- 응답 메시지 : Response Headers
-- Response Headers에서 한 칸 띄우고 실제로 HTML 코드 내용 전체를 인터넷을 통해서 요청한 컴퓨터로 보내주면 웹 브라우저는 Response Headers의 내용과 본문을 참조해서 사용자 화면에 표시해주는 것을 통해서 이 작업이 끝나게 되는 것