curl 이란?
cURL = Client URL
- 클라이언트에서 커맨드 라인이나 소스코드로 손 쉽게 웹 브라우저 처럼 활동할 수 있도록 해주는 기술 (커맨드라인 Tool 혹은 라이브러리)
- 서버와 통신할 수 있는 커맨드 명령어 툴, 웹개발에 매우 많이 사용되고 있는 무료 오픈소스
- 수많은 프로토콜을 지원한다는 장점을 지님
(DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet, TFTP)

가장 많이 사용하는 프로토콜
첫 째, HTTP 프로토콜
- HTTP: HTTP(Hypertext Transfer Protocol)는 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜
- Application Level 프로토콜로 TCP/IP 위에서 작동한다.
- HTTP는 어떤 종류의 데이터든지 전송할 수 있도록 설계되어 있다.
- HTTP로 이미지,동영상,오디오,텍스트 문서들 등 종류를 가리지 않고 Transfer이 가능하다.
- Hypertext 가 붙은 이유는 하이퍼텍스트 기반, 즉 링크 기반으로 데이터에 접속하겠다는 의미
- 웹서버는 보통 표준포트인 80번 포트로 서비스한다.
- HTTP는 서버/클라이언트 모델을 따른다. 클라이언트에서 Request을 보내면 서버에서는 요청을처리하여 Response 한다.
-
클라이언트:
서버에 요청하는 클라이언트 소프트웨어가 설치된 컴퓨터, chrom, firefox, ie 등의 클라이언트 소프트웨어를 이용한다. 클라이언트는 URI를 이용하여 서버에 접속하고 데이터를 요청할 수 있다.
-
서버:
클라이언트의 요청을 받아서, 요청을 해석하고 응답을 하는 소프트웨어가 설치된 컴퓨터, Apache, nginx,IIS, lighttpd 등이 서버 소프트웨어다.
둘 째, FTP 프로토콜
- File Transfer Protocol의 줄임말
- 하나의 호스트에서 다른 호스트로 파일을 옮기기 위한 TCP 기반 프로토콜
- 보통 FTP는 웹상에 파일을 올리기 위한 목적으로 널리 사용되어지고 있음
- 서버&클라이언트 모델을 따른다.
셋 째, SMTP 프로토콜
- 간이 전자 우편 전송 프로토콜(Simple Mail Transfer Protocol, SMTP)
- TCP 포트번호는 25번이다.
- 서버를 지시하기 위해 DNS의 MX 레코드가 사용된다. (RFC 2821에 따라 규정되어 있다.)
- SMTP는 텍스트 기반의 프로토콜로서 요구/응답 메시지뿐 아니라 모든 문자가 7bit aSCII로 되어있어야 한다고 규정되어 있다.
- 이 때문에 문자 표현에 8비트 이상의 코드를 사용하는 언어나 첨부파일과 자주 사용되는 각종 바이너리는 MIME 라고 불리는 방식으로 7비트로 변환되어 전달된다.
- SMTP는 메시지를 생성하는 방법을 규정하지 않는다. 메시지 생성을 위해 로컬 편집이나 단순한 전자 우편 응용이 사용된다.
- 메시지가 생성되면 호출된 SMTP가 메시지를 받고 TCP를 이용하여 다른 호스트의 SMTP에게 전달한다.
넷 째, TELNET
- 텔넷. tele + network의 준말
- 멀리 떨어진 컴퓨터에 연결해 이쪽 컴퓨터를 연결된 터미널로 만들어 주는 인터넷 표준 프로토콜이다.
- 텔넷은 인터넷을 통해 연결된다는 점만이 다르다. 텔넷 접속을 하기 위해서는 일반 통신프로그램이나 텔넷 전용 프로그램이 필요하다.
참조
참조: https://shutcoding.tistory.com/23