728x90
http
5

[웹 브라우저의 동작] 1. HTTP

전체적인 흐름 구체적인 설명에 앞서 전체적인 흐름을 살펴보고 하나씩 파고 들어가 보겠다. 브라우저 실행 URL 입력 브라우저가 URL을 조사 후 리퀘스트 메시지 생성 DNS 서버에 IP 주소 조사 신청 OS에 웹 서버로 송신해주라고 의뢰 웹 서버 수신 URL URL이란? URL(Uniform Resource Locator)는 일반적으로 브라우저의 주소창에 "http://"로 시작하는 주소라고 생각하면 된다. 하지만 사실 "http://"뿐만아니라 "ftp:", "file:", "mailto:" 등도 있다. 이러한 것들은 하나의 기능 또는 하나의 액세스 방법 또는 하나의 프로토콜 종류를 나타낸다. 예를 들어서 "ftp:" 는 파일을 다운로드/업로드하는 FTP(FIle Transfer Protocol)의 클..

Network 2021.05.12

HTTP 상태 코드

상태 코드는 클라이언트가 서버를 향해 요청을 보낼 때 서버에서 그 결과가 어떻게 되었는지 알려준다. 예를 들면 200 OK와 같이 3자리 숫자와 설명으로 나타낸다. 숫자의 첫 번쨰 자리는 응답 클래스를 의미하는데 나머지 2자리는 분류가 없다. 이 응답 클래스는 다음과 같이 5개가 정의되어 있다. 클래스 설명 1xx informational 요청를 받아들여 처리중 2xx Success 요청를 정상적으로 처리함 3xx Redirection 요청을 완료하기 위해 추가 동작이 필요 4xx Client Error 서버가 요청을 이해 불가능 5xx Server Error 서버가 요청 처리 실패함 2xx 성공(Success) 2xx 응답은 요청이 정상적으로 처리되었음을 나타낸다. 202 OK 클라이언트가 보낸 요청을..

Network 2021.05.05

HTTP 메시지

HTTP 메시지 HTTP에서 교환하는 정보는 HTTP 메시지라고 불리는데 요청 측 HTTP 메시지를 요청 메시지, 응답 측 HTTP 메시지를 응답 메시지라고 부른다. HTTP 메시지는 복수 행(개행 문자는 CR+LF)의 데이터로 구성된 텍스트 문자열이다. HTTP 메시지는 크게 구분하면 메시지 헤더와 메시지 바디로 구성되어 있고, 최초에 나타나는 개행 문자(CR+LF)로 메시지 헤더와 메시지 바디를 구분한다. 메시지 헤더 개행 문자(CR+LF) 메시지 바디 메시지 헤더 : 서버와 클라이언트가 꼭 처리해야 하는 요청과 응답 내용과 속성 등 CR+LF : CR(carriage return : 16진수 0x0d)와 LF(line feed : 16진수 0x0a) 메시지 바디 : 꼭 전송되는 데이터 그 자체 요청..

Network 2021.05.04

HTTP 프로토콜의 구조

TCP/IP에 있는 다른 많은 프로토콜과 마찬가지로 HTTP도 클라이언트와 서버 간에 통신을 한다. 텍스트와 이미지 등과 같은 리소스를 필요하다고 요구하는 쪽이 클라이언트가 되고, 이러한 리소스를 제공하는 쪽이 서버가 된다. HTTP는 클라이언트와 서버의 역할을 명확하게 구별한다. 요청(Request)과 응답(Response) HTTP는 클라이언트로부터 요청(Request)이 송신되며, 그 결과가 서버로부터 응답(Response)으로 되돌아온다. 서버 측은 요청을 받지 않고서는 응답을 송신하는 일이 없다. 간단히 말해 서버는 말걸지 않으면 대답하지 않는다. 구체적인 예를 들어 클라이언트 측에서 HTTP 서버에 다음과 같은 요청을 송신했다고 하자. GET /index.html HTTP /1.1 Host: ..

Network 2021.05.02

웹과 네트워크의 기본

브라우저 주소 입력란에 URL을 입력하면 웹 페이지를 볼 수 있다. 그렇다면 어떻게 웹 페이지가 보일까? 간단하게 설명하면 URL을 입력하면 어딘가에 송신되고 그 어딘가에서 응답이 돌아오면 웹페이지가 표시된다고 말할 수 있다. 웹 브라우저는 지정된 URL에 의지해서 웹 서버로부터 '리소스(Resouce)'라고 불리는 파일 등의 정보를 얻는다. 이때, 서버에 요청을 하는 웹 브라우저 등을 클라이언트(Client)라고 부른다. 이렇게 클라이언트에서 서버까지 일련의 흐름을 결정하고 있는 것은 웹에서 HTTP(Hyper Text Protocol)이라는 프로토콜이다. 여기서 프로토콜은 "약속"이라고 이해하면 된다. 즉, 웹은 HTTP라는 약속을 사용한 통신으로 이루어져 있다. HTTP의 등장 배경 HTTP는 "여..

Network 2021.04.25
728x90