웹 브라우저와 웹 서버

Alex Moon·2023년 8월 16일
0

네트워크

목록 보기
8/9

웹 사이트 요청

웹 사이트의 주소는 전송받고 싶은 웹 페이지를 이용하는 것으로 URL(Uniform Resource Locator)이라고 한다. URL은 스키마, 호스트명, 포트 번호, 자원의 경로로 구성된다. 포트 번호는 웰 노운 포트로 생략될 수 있다.

{스키마}://{호스트명}:{포트 번호}/경로
ex) http://www.naver.com/index.html

  • 스키마 : 웹 브라우저가 웹서버에 접속하기 위한 프로토콜

URL과 URI

URL은 이름 그대로 원하는 웹 서버 내에 있는 자원의 경로를 가르킨다. 반면, URI(Uniform Resource Identifier)는 자원을 식별하기 위한 방법으로 URL보다 더 상위의 개념이다. 원하는 자원에 대한 식별 정보를 요청하면 웹 서버가 이에 해당하는 자원을 찾아 반환한다.

  • http://www.naver.com는 웹 서버를 가리키므로 URL이면서 URI다.
  • http://www.naver.com/page/home/document/example.pdfexample.pdf라는 자원의 위치를 가리키므로 URL이면서 URI다.
  • http://www.naver.com/admin/users/335985는 유저에 대한 식별 정보를 가지므로 URI다.
  • http://www.naver.com/admin/users?id=335985는 query string이 유저에 대한 식별 정보를 제공하므로 URI다. 하지만 query string을 제외하면 user 자원이 있는 위치를 가리키고 있으므로 URL이면서 URL다.



데이터 송수신

웹 서버와 웹 브라우저는 HTTP 메시지를 통해 요청과 응답을 주고 받는다. 이 과정에서 웹 브라우저는 HTTP 메세지의 일부 내용을 쿠키로 저장하여 사용자의 로그인 정보, 웹 페이지 열람 이력 등 특정 정보를 저장한다. 이 것을 활용해 웹 페이지를 사용해 취향에 맞는 정보를 제공하는 등의 서비스를 제공하기도 한다.

HTTP Header

  • HTTP Request

  • HTTP Response

웹 브라우저와 웹 서버 사이에 프록시 서버를 두는 경우가 있다. 프록시는 대리라는 의미로 말 그대로 웹 사이트 접속을 대행하는 서버다. 이를 통해 요청되는 모든 URL을 모니터링이 가능하다. 여기서 URL 필터링을 통해 요청을 제한할 수도 있다. 또한 트래픽을 분산시켜 한 서버에 과부화가 걸리는 것을 방지할 수 있다.




웹 동작 흐름

  1. 사용자가 브라우저에 URL 입력
  2. DNS가 URL에 대응하는 IP를 찾기 위해 동작(이름 해석)
  3. 네트워크를 돌아다니며 목적지 IP에 대응하는 MAC 주소를 찾기 위해 ARP 실행(주소 해석)
  4. 웹 서버와 TCP 3way Handshake를 통해 커넥션 생성
  5. HTTP Request 메시지 전송
  6. HTTP Response 메시지 수신
  7. 웹 브라우저 화면 렌더링
  8. TCP 커넥션 종료(HTTP 헤더의 커넥션 옵션을 따름)

웹 접속에 이용하는 프로토콜

profile
느리더라도 하나씩 천천히. 하지만 꾸준히

0개의 댓글