초심자를 위한 네트워크 설명 (4) 웹 사이트의 동작 원리

wonsik·2022년 5월 18일
2

컴퓨터 네트워크

목록 보기
4/9
post-thumbnail

ch4. 웹 사이트의 동작 원리

스타일시트

웹 사이트는 복수의 웹 페이지(HTML 파일)로 구성되므로, 폰트를 변경할 때 모든 페이지를 변경해야하는 수고가 생긴다. \rightarrow 스타일시트(style sheet)를 통해 따로 정의한다.

웹 사이트의 주소

전송받고 싶은 웹 페이지를 지정

URL의 의미: http://로 시작하는 문자열로 Uniform Resource Locator이다. 맨 앞의 http는 스킴이라하며, 웹 브라우저웹 서버의 데이터에 접속하기 위한 프로토콜이다. :뒤에는 파일이 있는 장소를 나타내고 //는 그 뒤로 이어지는 부분이 호스트명임을 나타낸다.

호스트명 뒤에는 포트번호가 이어지지만 대부분 생략한다. \rightarrow 지정된 스킴의 웰노운 포트를 사용한다. 호스트명 뒷부분이 웹서버 어디에 목적으로 하는 파일이 있는지 나타내는 경로이다.

ex) <스킴>://<호스트명>/<경로> = http://www.naver.com/network/index.html

HTTP 파일 전송은 HTTP 리퀘스트(요청)과 HTTP리스폰스(응답)를 주고받으면서 이루어진다.

HTTP request

  • 리퀘스트 라인: 웹 서버에 대한 실제 처리 요청을 전달
    = 메소드: 서버에 대한 요청, 가장 자주 사용되는 메소드는 GET방식이다.
    = URI
    = 버전

  • 메세지 헤더: 요청라인에 이어지는 여러 줄의 텍스트. 웹 브라우저의 종류와 버전, 대응하는 데이터 형식 등의 정보를 입력하며 메세지 헤더 정보 입력후 한 라인을 공백으로 둔다.

  • 엔티티 바디: Post method로 웹 브라우저에서 데이터를 보낼 때 사용한다.

리퀘스트 라인메세지 헤더HTTP 헤더에 들어가 있고 엔티티 바디웹 브라우저 데이터에 들어간다.

HTTP response

구성은 HTTP request와 같다.

리스폰스 라인

  • 버전: request와 마찬가지로 HTTP의 버전을 나타냄
  • 상태코드: request에 대한 웹 서버 애플리케이션의 처리결과를 나타내는 3자리로 된 숫자
  • 설명문: 상태코드의 의미를 간단히 보여주는 텍스트로 가장 많이 받는 상태코드는 200으로 성공적으로 처리됨을 알려준다. 가장 많이 보는 상태코드는 404코드로 URL을 잘못 입력하거나 해당 웹페이지가 존재하지 않을 때 나온다.

https://blog.kakaocdn.net/dn/BaB1D/btqV2a7KgVn/aORy6qJPrs2a1jJHdxBkO0/img.jpg

상태코드

맨 앞자리에서 대략적인 의미가 정해진다
https://slidesplayer.org/slide/14780959/90/images/18/2.2+Response+HTTP+%EC%83%81%ED%83%9C+%EC%BD%94%EB%93%9C.jpg

쿠키

웹 페이지의 내용을 커스터마이징 하고 싶을 때 사용한다.
HTTP 쿠키는 웹 서버 어플리케이션이 웹 브라우저에 특정 정보를 저장해두는 기술이다. 쿠키를 통해 웹 서버는 사용자의 로그인 정보사이트 내 웹 페이지 열람 이력 등을 관리할 수 있다. 이를 통해 사용자에게 상품을 추천해주는 등의 일을 할 수 있다.

프록시 서버

웹 사이트 접속을 대행
웹 서버를 프록시 서버로 동작시키려면 서버에서 프록시 서버 어플리케이션을 실행해야 한다. 클라이언트 PC의 웹 브라우저에서 프록시 서버에 접속할 때에는 TCP 포트번호 8080(원래 HTTP 포트번호는 80)을 사용하는 경우가 많다.

사용사례)
기업의 관리자 입장에서 클라이언트(직원)가 어떤 웹 사이트에 접속하는지 확인가능하며 부정한 웹 사이트에 접속할 수 없게한다. (URL 필터링, 웹 필터링)

https://mblogthumb-phinf.pstatic.net/MjAyMDAxMTZfMTM2/MDAxNTc5MTUzMDAxODU5.aeOUea7qgTalcgT1_D_XqOV89d0EeyBwXuDb5mABsfsg.66B5csVfMh-fSqOHBbbPyqvRBwEhwsarCIgzy09QQ5Ug.PNG.powerlinedd/image.png?type=w800

profile
새로운 기술을 배우는 것을 좋아하는 엔지니어입니다!

0개의 댓글