HTTP
- Hypertext(HTML) Transfer Protocol(통신규약)
- tim berners-lee 웹 창시자 : 웹브라우저와 웹서버 사이의 통신 규약
역할
웹브라우저와 웹서버가 서로 데이터를 주고받을 때, 웹브라우저는 웹서버를 찾아가서 어떤 정보를 요청하고(request), 웹 서버는 그 요청에 따라서 적당한 정보를 응답(response)한다.
요청과 응답?
사실 컴퓨터 사이의 일이기 때문에, 그 사이에 엄격한 규칙이 있다.
그 규칙은 문자로 되어 있는 단순한 메세지이기 때문에 복잡하지는 않다.
그 메세지를 확인할 수 있는 도구가 있다.
크롬에서 오른쪽 마우스 버튼을 눌러서 검사를 하면 네트워크 탭을 확인할 수 있는데,
이것은 웹브라우저와 웹서버가 서로 데이터를 주고받는 모습을 볼 수 있다.
Name에 있는 파일을 더블클릭하면 HTML정보를 웹브라우저가 요청하고 웹서버가 응답하는 자세한 내용을 오른쪽에서 볼수 있다.
그 중에서 Request Headers라는 부분이 웹브라우저가 웹서버에게 요청할 때 작성한 요청서.
그럼 웹서버는 그 요청서에 따라서 어떤 정보를 만든 다음에 그것을 Response Headers라고 하는 응답헤더를 통해서 웹브라우저에게 보내준다.
Request Headers
- User-Agent는 웹브라우저 입니다. 어떤 웹브라우저로 요청했는지 정보가 넘어가고 웹서버는 그 정보를 받아서 어떤 브라우저가 접속하고 있는지 통계를 낼 수 있다. 또는 웹브라우저의 어떤 종류에 따라서 모바일에 접속했다면 그에 최적화된 페이지를 보내주고 데스크탑에 최적화 됐다면 그에 최적화된 페이지를 보여준다.
- Accept-Language : 이 웹브라우저가 수용할 수 있는 언어들을 보여준다.
- Accept-Encoding : gzip ... 등 : 서로 데이터를 주고받을 때, 웹서버에서 데이터가 응답할 때 그 양이 크다면 gzip 방식으로 웹서버가 압축을 해서 웹브라우저에 쏴준다.
Response Headers
보이지 않는 이런 정보들도 같이 보내고 있다.
- Content-Encoding : gzip 웹서버가 압축해서 gzip방식으로 보냈다라면 압축을 풀겟다.
- Content-type : 응답한 정보가 무엇인지(html), 인코딩이 무엇(utf8)로 되었는지 확인할 수 있다.
핵심 : 눈에 보이지는 않지만 웹서버와 웹브라우저가 주고받는 풍부한 정보(Request Headers, Response Headers 등)가 있다는 것.
'핵심 이론 파헤치기' 카테고리의 다른 글
email - 가비아에서 도메인 SPF 설정하기 (0) | 2019.09.05 |
---|---|
마이크로 서비스 아키텍쳐 소개 및 구현 방법 (0) | 2018.07.09 |
Cookie (쿠키) 와 counter 기본 예제 (with Nodejs) (0) | 2017.09.26 |
윈도우에서 NPM 설치하기 (1) | 2017.09.21 |
객체 지향 프로그래밍의 이해 (OOP) (0) | 2017.08.12 |