본문 바로가기

CS basic/Web Programming

웹서버 기초용어 정리

웹 서버란? 

- 클라이언트(ex.웹 브라우저)로부터 HTTP 요청을 받아들이고, 웹 페이지(ex.HTML)를 반환하는 컴퓨터 프로그램

- 위의 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터 

 

웹 서버 구조

https://www.open.edu/openlearn/science-maths-technology/introduction-web-applications-architecture/content-section-1.1
https://mobidev.biz/blog/web-application-architecture-types

프로토콜이란? 

- 통신 프로토콜(통신 규약)은 컴퓨터, 원거리 통신 장비 간 메세지를 주고받는 통신 양식 및 규칙 체계이다. 

- 프로토콜의 예시로는 HTTP, HTTPS, FTP, STFP, SSL, SSH, Telnet 등이 있다. 

 

포트(port)란?

- 네트워크 연결이 시작하고 끝나는 지점(virtual point). os에 의해서 관리되며, 각각의 포트는 특정한 프로세스나 서비스와 연관되어 있다. 

- 포트는 컴퓨터가 쉽게 트래픽 종류를 구분할 수 있게 한다. 

- 각각의 포트는 특정한 port number를 부여받는다. 예를 들어 HTTP의 경우, HTTP 메세지는 port 80으로 가게 된다.  

- 같은 종류의 네트워크 연결에서, 다른 종류의 데이터 flow가 발생할 수 있다. 이럴 경우, port는 pc가 받아들인 데이터를 어떻게 처리해야할지를 구분하는 데 도움을 준다. (데이터를 어떤 프로세스나 서비스에서 받아들여야 하는지 알게 한다.)

 

http란? 

- 프로토콜의 일종. Hypertext transfer protocol. WWW상에서 정보를 주고받을 수 있는 프로토콜이다. 

- request/response 프로토콜이다. 

 

소켓이란? 

- 컴퓨터 네트워크의 네트워크 노드 안에 있는 소프트웨어 구조를 네트워크 소켓이라 한다. 

- 소켓은 네트워크 상 두 프로그램 간 양방향 통신(two-way communication)에서의 한 종단점(endpoint)이다. 이 endpoint은 IP address와 port number로 이루어져 있다. 모든 TCP 연결은 이 두 개의 endpoint로 인해, 고유하게 식별될 수 있다. 

 

TCP란?

- 전송 제어 프로토콜(Transmission Control Protocol) 

- TCP는 전송 계층에 위치한다. 

- 웹 브라우저들이 WWW에서 서버에 연결할 때 사용되며, 이메일 전송, 파일 전송에도 사용된다. 

 

 

<참고>

https://ko.wikipedia.org/wiki/%EC%9B%B9_%EC%84%9C%EB%B2%84 

 

https://www.open.edu/openlearn/science-maths-technology/introduction-web-applications-architecture/content-section-1.2

 

https://mobidev.biz/blog/web-application-architecture-types

 

https://ko.wikipedia.org/wiki/%ED%86%B5%EC%8B%A0_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C

 

https://www.cloudflare.com/ko-kr/learning/network-layer/what-is-a-computer-port/

 

https://ko.wikipedia.org/wiki/HTTP

 

https://en.wikipedia.org/wiki/Network_socket

 

https://docs.oracle.com/javase/tutorial/networking/sockets/definition.html