본문 바로가기

서버지식/웹 서비스

[HTTP]실제 네트워크를 보고 유추해보자

General

  • https 프로토콜을 사용했다.
  • host는 toss.im인 것을 알 수있다.
  • GET 매소드를 사용하여 정보를 읽는 것을 요청했다.
  • 성공적으로 요청과 응답이 이루어졌다. 200 OK

Request Headers

  • 클라이언트는 text/html 파일을 선호한다.
  • 클라이언트는 xhtml+xml 파일을 제일 선호하고 그 다음으로 xml 파일을 선호한다.
  • 클라이언트는 이미지 파일로 avif, webp, apng를 선호한다.
  • 클라이언트는 gzip, deflate, br 형식의 압축파일을 선호한다.
  • 클라이언트는 ko-KR, ko, en-US, en
  • 클라이언트의 브라우저에 쿠키파일로 _hjid, _fbp 등이 저장되어 있고 이 파일을 포함해서 서버에 요청했다.
  • host의 도메인 주소는 toss.im이다.

Response Headers

  • 응답 파일은 gzip 형식으로 압축되어 있다.
  • 파일 형식은 text/html이고, 한글 utf-8로 이루어져있다.
  • 한국시간으로 2022년 1월 27일 목요일 3시 17분 53초에 응답했다.
  • 서버의 소프트웨어는 nginx이다.
  • 데이터 전송파일이 분할되어 전송되었다. chunked

 

이번엔 http://facebook.com을 분석해보았다.

General

  • 분명 http://www.facebook.com/에 접속했는데 `301 Internal Redirect`를 받고 https://www.facebook.com/으로 리다이렉트 되었다.
  • GET 요청에 200으로 성공적으로 요청과 응답이 이루어졌다.

Request Headers

  • GET 메소드로 읽기 요청했다.
  • / 루트 경로 접근요청한것 같다. 메인페이지? 느낌
  • https의 scheme을 사용한다. 보안에 있어서 훌륭하다.
  • 나는 text/html 파일을 선호한다.
  • 나는 xhtml+xml 파일을 제일 선호하고 그 다음으로 xml 파일을 선호한다.
  • 나는 이미지 파일로 avif, webp, apng를 선호한다.
  • 나는 gzip, deflate, br 형식의 압축파일을 선호한다.
  • 나는 ko-KR, ko, en-US, en
  • 로그인 정보 등과 같은 쿠키 파일도 함께 전송되었다.
  • 나의 user-agent도 확인할 수 있다.

Respond Headers

  • 전송데이터는 br 방식으로 압축되었다.
  • text/html형식의 파일이고 utf-8인코딩이다.
  • 한국시간으로 2022년 2월 23일 8시 39분 58초 응답했다?
  • set-cookie 명령이 확인된다.

 

페이스북은 보안상 https 프로토콜을 사용하나보다. 헤더들은 낯설어서 모두 해석하지는 못했지만, 기본적인 부분은 어느정도 비슷한 것 같다.

 


더 알아보기

  • vary: 동일한 URL에 대해 요청을 하더라도 요청한 사용자의 특징(User Agent, Accept Encoding, Origin 등등)에 따라 서로 다른 응답을 해 주기 위해서 존재하는 헤더이다. (출처 kakao tech)