프로토콜 : 정해진 규약 혹은 약속
HTTP 프로토콜
- 통신 규약(프로토콜, Protocol) : 네트워크 상에서 복수의 컴퓨터(앱) 사이에서 데이터를 통신하기 위한 약속
- HTTP(Hypertext Transfer Protocol)
- 서버 - 클라이언트 간의 통신 규약
- 클라이언트가 요청하면(Request) 서버가 데이터를 응답한다(Response)
Request, Response의 규약만 준수한다면 Server, Client는 어떠한 코드로 작성되던지 HTTP 프로토콜을 만족하는 것이다.
- 서버 주소
- 서버의 주소는 http:// 로 시작한다.
- 도메인 이름 ( .com, .net 등) 또는 ip 주소를 사용한다.
- Default 포트 번호는 80번 이다.
- 서버의 주소는 http:// 로 시작한다.
- 예
http://hello.com # http 프로토콜을 지원하는 서버로 포트번호는 80번을 사용한다.
http://hello.com:3000 # http 프로토콜을 지원하는 서버로 포트번호는 3000번을 사용한다
http://10.0.121.123 # http 프로토콜을 지원하는 서버로 ip 주소를 사용했으며 포트 번호는 80을 사용함
- 통신의 특징
- 클라이언트가 요청을 보내면 서버는 응답하고 연결이 종료된다.
- 로그인 등의 처리를 위해서는 별도의 방법이 필요하다. → 서버의 입장에서는 요청이 들어오면 매번 새로운 사용자로 인식한다는 의미 로그인을 유지하기 위해 어떠한 스킬로 유지를 하여야함 (예 : 쿠키, 세션 등)
- 요청(Request)과 응답(Response)의 구조
- 기본적으로 head, body를 가진다.
- Request
- Method : GET, POST, PUT, PATCH, DELETE 등 요청의 의도
- Request Target : /users , /logs 등의 목표 주소
- Body : 서버로 전송하는 데이터 (회원 가입, 게시글 등록 등의 상황)
- Response
- Status : 200 = OK, 404 = Not found 등
- Body : 요청한 데이터 전송 (html, json, xml, 파일 등)
Response Message
HTTP Response Message는 request와 동일하게 공백(blank line)을 제외하고 3가지 부분으로 나누어진다.
- Status Line
- Headers
- Body
HTTP Response Message
- Status Line
- HTTP Response의 상태를 간략하게 나타내주는 부분
HTTP/1.1 200 OK
[HTTP version] [Status Code] [Status Text]
- headers
- Request의 headers와 동일하다. 다만 response에서만 사용되는 header 값들이 있다. 예를 들어, User-Agent 대신에 Server 헤더가 사용된다.
- body
- Response의 body와 일반적으로 동일하다. Request와 마찬가지로 모든 response가 body가 있지는 않다.
- 데이터를 전송할 필요가 없을 경우 body가 비어있게 된다.
상황별 Request Method

HTTPS 프로토콜
- Hypertext Transfer Protocol Secure : HTTP 프로토콜에 보안이 더해진 것
- 기본포트 443
- https:// 로 주소가 시작된다.
- 클라이언트와 서버간의 통신 내용이 암호화되어 전달된다.
- 서버는 인증서가 필요하다.
- 공인된 발급처에서 인증서를 받은 경우 주소 앞쪽에 자물쇠 표지가 나온다.
RESTful API
- 기존의 서버
- 물리적인 폴더와 물리적인 파일 이름을 이용해 서비스나 파일을 요청
- 주로 GET/POST method 사용
- http://hello.com/users/user.jsp 서버의 users 폴더 안에 있는 user.jsp 파일을 주세요.
- REST
- 폴더나 파일 이름이 아닌 리소스를 대상으로 하며 Method를 이용해 서버에게 의도를 알림
- 이러한 규칙을 제공하는 서버를 RESTful API, RESTful server 등으로 부
- http://hello.com/users/ GET - 서버가 가진 사용자 목록을 조회 POST - 서버가 가진 사용자 목록에 신규 사용자 등록
- 주소를 정의하는 규칙 : 절대적인 규칙은 아니지만 대부분이 따르는 방법
- 주소 + Method로 의도를 전한다.
- 주소 부분에는 Key에 해당하는 정보를, 그 외 검색이나 정렬 등은 Query String으로

{id} 는 가변이다, 바뀔수 있는 값
Web Server, Web Application Server
- http/https 요청에 대하여 정적인 응답을 보내면 Web Server
- Nginx, Apache 등
- http/https 요청에 대하여 동적인 응답을 보내면 Web Application Server
- PHP : Apache + php plug-in
- Platform : Laravel
- Jsp & Servlet : (Java)
- Platform : Spring / Spring boot(Kotlin)
- Node.js : Node.js + Web framework (Javascript)
- PHP : Apache + php plug-in
Web Application Server
- Platform : 프로젝트의 뼈대 및 편리한 개발 환경을 제공
- Platform → JSP에서 매번 DB에 연결하는 것처럼 노가다 성 코드를 줄여주는 역할
- 개발자 개인의 역량에 따라 품질이 좌우되지 않도록한다.
- 프로젝트 설정, 의존성 관리 등 반복되는 작업을 줄여준다.
프로토콜 : 정해진 규약 혹은 약속
HTTP 프로토콜
- 통신 규약(프로토콜, Protocol) : 네트워크 상에서 복수의 컴퓨터(앱) 사이에서 데이터를 통신하기 위한 약속
- HTTP(Hypertext Transfer Protocol)
- 서버 - 클라이언트 간의 통신 규약
- 클라이언트가 요청하면(Request) 서버가 데이터를 응답한다(Response)
Request, Response의 규약만 준수한다면 Server, Client는 어떠한 코드로 작성되던지 HTTP 프로토콜을 만족하는 것이다.
- 서버 주소
- 서버의 주소는 http:// 로 시작한다.
- 도메인 이름 ( .com, .net 등) 또는 ip 주소를 사용한다.
- Default 포트 번호는 80번 이다.
- 서버의 주소는 http:// 로 시작한다.
- 예
http://hello.com # http 프로토콜을 지원하는 서버로 포트번호는 80번을 사용한다.
http://hello.com:3000 # http 프로토콜을 지원하는 서버로 포트번호는 3000번을 사용한다
http://10.0.121.123 # http 프로토콜을 지원하는 서버로 ip 주소를 사용했으며 포트 번호는 80을 사용함
- 통신의 특징
- 클라이언트가 요청을 보내면 서버는 응답하고 연결이 종료된다.
- 로그인 등의 처리를 위해서는 별도의 방법이 필요하다. → 서버의 입장에서는 요청이 들어오면 매번 새로운 사용자로 인식한다는 의미 로그인을 유지하기 위해 어떠한 스킬로 유지를 하여야함 (예 : 쿠키, 세션 등)
- 요청(Request)과 응답(Response)의 구조
- 기본적으로 head, body를 가진다.
- Request
- Method : GET, POST, PUT, PATCH, DELETE 등 요청의 의도
- Request Target : /users , /logs 등의 목표 주소
- Body : 서버로 전송하는 데이터 (회원 가입, 게시글 등록 등의 상황)
- Response
- Status : 200 = OK, 404 = Not found 등
- Body : 요청한 데이터 전송 (html, json, xml, 파일 등)
Response Message
HTTP Response Message는 request와 동일하게 공백(blank line)을 제외하고 3가지 부분으로 나누어진다.
- Status Line
- Headers
- Body
HTTP Response Message
- Status Line
- HTTP Response의 상태를 간략하게 나타내주는 부분
HTTP/1.1 200 OK
[HTTP version] [Status Code] [Status Text]
- headers
- Request의 headers와 동일하다. 다만 response에서만 사용되는 header 값들이 있다. 예를 들어, User-Agent 대신에 Server 헤더가 사용된다.
- body
- Response의 body와 일반적으로 동일하다. Request와 마찬가지로 모든 response가 body가 있지는 않다.
- 데이터를 전송할 필요가 없을 경우 body가 비어있게 된다.
상황별 Request Method

HTTPS 프로토콜
- Hypertext Transfer Protocol Secure : HTTP 프로토콜에 보안이 더해진 것
- 기본포트 443
- https:// 로 주소가 시작된다.
- 클라이언트와 서버간의 통신 내용이 암호화되어 전달된다.
- 서버는 인증서가 필요하다.
- 공인된 발급처에서 인증서를 받은 경우 주소 앞쪽에 자물쇠 표지가 나온다.
RESTful API
- 기존의 서버
- 물리적인 폴더와 물리적인 파일 이름을 이용해 서비스나 파일을 요청
- 주로 GET/POST method 사용
- http://hello.com/users/user.jsp 서버의 users 폴더 안에 있는 user.jsp 파일을 주세요.
- REST
- 폴더나 파일 이름이 아닌 리소스를 대상으로 하며 Method를 이용해 서버에게 의도를 알림
- 이러한 규칙을 제공하는 서버를 RESTful API, RESTful server 등으로 부
- http://hello.com/users/ GET - 서버가 가진 사용자 목록을 조회 POST - 서버가 가진 사용자 목록에 신규 사용자 등록
- 주소를 정의하는 규칙 : 절대적인 규칙은 아니지만 대부분이 따르는 방법
- 주소 + Method로 의도를 전한다.
- 주소 부분에는 Key에 해당하는 정보를, 그 외 검색이나 정렬 등은 Query String으로

{id} 는 가변이다, 바뀔수 있는 값
Web Server, Web Application Server
- http/https 요청에 대하여 정적인 응답을 보내면 Web Server
- Nginx, Apache 등
- http/https 요청에 대하여 동적인 응답을 보내면 Web Application Server
- PHP : Apache + php plug-in
- Platform : Laravel
- Jsp & Servlet : (Java)
- Platform : Spring / Spring boot(Kotlin)
- Node.js : Node.js + Web framework (Javascript)
- PHP : Apache + php plug-in
Web Application Server
- Platform : 프로젝트의 뼈대 및 편리한 개발 환경을 제공
- Platform → JSP에서 매번 DB에 연결하는 것처럼 노가다 성 코드를 줄여주는 역할
- 개발자 개인의 역량에 따라 품질이 좌우되지 않도록한다.
- 프로젝트 설정, 의존성 관리 등 반복되는 작업을 줄여준다.