본문 바로가기
Web

HTTP/HTTPS

by Anatis 2021. 12. 7.

인코딩

컴퓨터의 모든 데이터는 0과 1로 구성된다. "사과"가 사과를 가리키는 데 약속이 필요하듯, 0과 1로 우리의 문자를 표현하는 것도 일종의 약속 덕분이다. 이런 약솔들을 인코딩(Encoding) 표준이라고 부르고, 대표적으로 아스키(Ascii)와 유니코드(Unicode)가 있다.

 

통신 프로토콜

웹 서버에 있는 리소스를 클라이언트가 받아 보려면, 클라이언트는 웹에게 특정 리소스를 지정하여 제공해달라고 요청해야 한다. 그러면 서버가 해당 요청을 이해하고, 대응되는 동작을 통해 클라이언트에 리소스를 반환한다. 여기서 클라이언트의 행위를 요청(Request), 서버의 행위를 (Response)라고 한다.

 

HTTP

HTTP(Hyper Text Transfer Protocol)란 서버와 클라이언트의 데이터 교환을 요청(Request)과 응답(Response) 형식으로 정의한 프로토콜이다. 팀 버너스 리(Team Berners-Lee)와 그의 팀이 제정한 이후, 현대 웹 서비스의 바탕이 되는 프로토콜로 자리 잡았다.

HTTP의 기본 메커니즘은 클라이언트가 서버에게 요청하면, 서버가 응답하는 것이다.

웹 서버는 HTTP 서버를 HTTP 서비스 포트에 대기 시킨다. 이 포트는 일반적으로 TCP/80 또는 TCP/8080이다. 클라이언트가 서비스 포트에 HTTP 요청을 전송하면, 이를 해석하여 적절한 응답을 반환한다.

위의 Request, Response의 각 필드에 대해 알아보자.

GET, /index.html, HTTP/1.1 : HTTP Method, Request URL, HTTP version 순이다.

그 아래 부분들은 모두 Request header 부분이다.

HTTP/1.1, 200 OK : HTTP version, Return Code이다.

그 아래 Content-Type까지는 Response header 부분이고 그 아래는 Response body 부분이다.

 

네트워크 포트(Network Port)

네트워크에서 서버와 클라이언트가 정보를 교환하는 추상화된 장소를 의미한다.

포트에는 항구라는 의미가 있는데, 클라이언트가 서버의 포트에 접근하여 데이터를 내려놓고, 서버가 클라이언트에 보낼 데이터를 실어서 돌려보내느 장면을 연상하면 포트의 기능을 이해할 수 있다.

 

서비스 포트(Service Port)

네트워크 포트 중에서 특정 서비스가 점유하고 이있는 포트를 이른다.

HTTP가 80번 포트를 점유하고 있다면 HTTP의 서비스 포트는 80번이된다.

'Web' 카테고리의 다른 글

Exercise: XSS  (0) 2021.12.07
ClientSide: XSS  (0) 2021.12.07
Mitigation: Same Origin Policy  (0) 2021.12.07
웹 리소스  (0) 2021.12.07
Exercise: Cookie  (0) 2021.12.07

댓글