본문 바로가기

TIL

HTTP (2) HTTP Response Message

이번 포스트는 이고잉님의 'HTTP 소개' 강의를 듣고 정리한 내용입니다.

https://opentutorials.org/course/3385/21675

 

HTTP Response message - 생활코딩

수업소개 HTTP 응답 메시지의 자세한 내용을 살펴봅니다.  강의

opentutorials.org

 

 

 

 

 

강의를 듣고 복습하기 위해 F12를 눌러서 ㅋㅋ 개발자 도구에 들어왔다.

이고잉님 화면과 다르지만 겹치는 부분 위주로 복습을 해보겠다!

 

출처: https://www3.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html

 

HTTP Request Header는 이렇게 이루어져 있다.

Request Line과 Request Headers를 합쳐서 Request Message Header

 

그리고 혹시 웹브라우저가 서버에게 보내야 할 컨텐츠가 있다면? (GET이 아니라 POST Method 이용한 경우)

 

한 칸을 띄우고

Request Message Body가 들어간다.

 

 

 

 

 

 

 

 

 

 

  • GET /1.html HTTTP/1.1

(이고잉님화면에는 이 Request Line이 가장 먼저 나왔지만 지금은 좀 바뀐 듯...;-;)

 

GET은 Request Method 중 하나 (GET, POST, PUT, DELETE 등이 있다.)

GET은 데이터를 웹 서버로부터 가져올 때 쓰는 Method이다 


 /1.html => 우리가 웹서버한테 요청하는 정보가 무엇인가

HTTP/1.1 => http 버전 정보

 

 

 

  • Host: localhost::8080

Host는 인터넷에 연결된 컴퓨터 한 대, 한 대를 식별하는 이름이다.

우리가 요청하는 웹사이트의 웹서버 주소 @_@를 적는다.

(하나의 웹서버가 여러개의 도메인을 서비스할 수 있다. A라는 서버가 a.com, b.com, c.com이라는 웹 사이트를 호스트한다고 가정해보자. 웹 서버는 Host에 있는 정보에 따라 다른 정보를 보내준다. - 가상 호스트)

 

한 대의 컴퓨터에는 여러개의 서버가 설치되어 있을 수 있다. 

여기서는 8080이라는 그 포트 번호에 등록된 웹 서버를 의미.

 

 

 

 

  • User-Agent

- 웹 브라우저의 다른 표현

- 요청하는 웹 브라우저가 어떤 웹브라우저인지, 어떤 운영체제를 사용하는지 등등에 관한 정보.

- 경우에 따라 User Agent가 크롬이나 파이어 폭스가 아니라 로봇!이 접속한 경우 

   웹 서버는 이 User Agent 정보를 바탕으로 그런 접속을 차단해버릴 수 있다.

 

 

 

 

  • Accept-Encoding

- 웹 서버와 브라우저가 통신할 때, 응답할 데이터 양이 많으면 그것을 압축해서 전송한다.

웹 브라우저가 그 압축을 풀어서 처리 -> 네트워크 자원을 아낄 수 있다.

- Accept-Encoding은 웹 브라우저가 어떤 압축 방식을 지원하는 지 웹 브라우저에게 알려주는 것.

"나는 이런이런이런 방식 압축은 accept할 수 있으니까 이런 압축 방식 중 하나로 보내줘~"라는 의미
- 그럼 웹 서버는 그 중 자기가 원하는 방식 하나로 웹 브라우저에게 압축해서 데이터를 보내준다.

 

 

 

  • If-Modified-Since 

- 웹 브라우저가 가지고 있는 파일이 언제 마지막으로 다운로드 된 것인지에 대한 정보

- 이걸 서버에게 알려주면 서버가 응답할 때, 자기가 가지고 있는 파일랑 비교해서

만약에 자신이 가지고 있는 파일이 더 최신이면 그것을 보내주고,

그렇지 않으면(즉, 웹 브라우저가 굳이 한번 더 다운로드 할 필요 없으면) 안 보내준다.

 

'TIL' 카테고리의 다른 글

Ajax (2) - Fetch API  (0) 2020.07.15
Ajax (1) - Intro  (0) 2020.07.15
HTTP (3) HTTP Response Message  (0) 2020.07.15
HTTP (1) Intro  (0) 2020.07.15
인터넷 Server와 Client  (0) 2020.07.14