curl protocols - everything curl (2024)

curl supports about 28 protocols. We say about because it depends on how youcount and what you consider to be distinctly different protocols.

DICT

DICT is a dictionary network protocol, it allows clients to ask dictionaryservers about a meaning or explanation for words. See RFC 2229. Dict serversand clients use TCP port 2628.

FILE

FILE is not actually a network protocol. It is a URL scheme that allows youto tell curl to get a file from the local file system instead of getting itover the network from a remote server. See RFC 1738.

FTP

FTP stands for File Transfer Protocol and is an old (originates in the early1970s) way to transfer files back and forth between a client and a server. SeeRFC 959. It has been extended greatly over the years. FTP servers and clientsuse TCP port 21 plus one more port, though the second one is usuallydynamically established during communication.

See the external page FTP vsHTTP for how it differs fromHTTP.

FTPS

FTPS stands for Secure File Transfer Protocol. It follows the tradition ofappending an 'S' to the protocol name to signify that the protocol is donelike normal FTP but with an added SSL/TLS security layer. See RFC 4217.

This protocol is problematic to use through firewalls and other networkequipment.

GOPHER

Designed for "distributing, searching, and retrieving documents over theInternet", Gopher is somewhat of the grandfather to HTTP as HTTP has mostlytaken over completely for the same use cases. See RFC 1436. Gopher servers andclients use TCP port 70.

GOPHERS

Gopher over TLS. A recent extension to the old protocol.

HTTP

The Hypertext Transfer Protocol, HTTP, is the most widely used protocol fortransferring data on the web and over the Internet. See RFC 9110 for generalHTTP Semantics, RFC 9112 for HTTP/1.1, RFC 9113 forHTTP/2 and RFC 9114 for HTTP/3. HTTP servers andclients use TCP port 80.

HTTPS

Secure HTTP is HTTP done over an SSL/TLS connection. See RFC 2818. HTTPSservers and clients use TCP port 443, unless they speakHTTP/3 which then uses QUIC (RFC 8999) and isdone over UDP.

IMAP

The Internet Message Access Protocol, IMAP, is a protocol for accessing,controlling and "reading" email. See RFC 3501. IMAP servers and clients useTCP port 143. Whilst connections to the server start out as cleartext, SSL/TLScommunication may be supported by the client explicitly requesting to upgradethe connection using the STARTTLS command. See RFC 2595.

IMAPS

Secure IMAP is IMAP done over an SSL/TLS connection. Such connectionsimplicitly start out using SSL/TLS and as such servers and clients use TCPport 993 to communicate with each other. See RFC 8314.

LDAP

The Lightweight Directory Access Protocol, LDAP, is a protocol for accessingand maintaining distributed directory information. Basically a databaselookup. See RFC 4511. LDAP servers and clients use TCP port 389.

LDAPS

Secure LDAP is LDAP done over an SSL/TLS connection.

MQTT

Message Queuing Telemetry Transport, MQTT, is a protocol commonly used in IoTsystems for interchanging data mostly involving smaller devices. It is aso-called "publish-subscribe" protocol.

POP3

The Post Office Protocol version 3 (POP3) is a protocol for retrieving emailfrom a server. See RFC 1939. POP3 servers and clients use TCP port 110. Whilstconnections to the server start out as cleartext, SSL/TLS communication may besupported by the client explicitly requesting to upgrade the connection usingthe STLS command. See RFC 2595.

POP3S

Secure POP3 is POP3 done over an SSL/TLS connection. Such connectionsimplicitly start out using SSL/TLS and as such servers and clients use TCPport 995 to communicate with each other. See RFC 8314.

RTMP

The Real-Time Messaging Protocol (RTMP) is a protocol for streaming audio,video and data. RTMP servers and clients use TCP port 1935.

RTSP

The Real Time Streaming Protocol (RTSP) is a network control protocol tocontrol streaming media servers. See RFC 2326. RTSP servers and clients useTCP and UDP port 554.

SCP

The Secure Copy (SCP) protocol is designed to copy files to and from a remoteSSH server. SCP servers and clients use TCP port 22.

SFTP

The SSH File Transfer Protocol (SFTP) that provides file access, filetransfer, and file management over a reliable data stream. SFTP servers andclients use TCP port 22.

SMB

The Server Message Block (SMB) protocol is also known as CIFS. It is anapplication-layer network protocol mainly used for providing shared access tofiles, printers, and serial ports and miscellaneous communications betweennodes on a network. SMB servers and clients use TCP port 445.

SMBS

SMB done over TLS.

SMTP

The Simple Mail Transfer Protocol (SMTP) is a protocol for emailtransmission. See RFC 5321. SMTP servers and clients use TCP port 25. Whilstconnections to the server start out as cleartext, SSL/TLS communication may besupported by the client explicitly requesting to upgrade the connection usingthe STARTTLS command. See RFC 3207.

SMTPS

Secure SMTP, is SMTP done over an SSL/TLS connection. Such connectionsimplicitly start out using SSL/TLS and as such servers and clients use TCPport 465 to communicate with each other. See RFC 8314.

TELNET

TELNET is an application layer protocol used over networks to provide abidirectional interactive text-oriented communication facility using a virtualterminal connection. See RFC 854. TELNET servers and clients use TCP port 23.

TFTP

The Trivial File Transfer Protocol (TFTP) is a protocol for doing simple filetransfers over UDP to get a file from or put a file onto a remote host. TFTPservers and clients use UDP port 69.

WS

WebSocket is a bidirectional TCP-like protocol, setup over an HTTP(S)request. WS is the scheme for the clear text version done over plain HTTP.Experimental support for this was added to curl 7.86.0.

WSS

WebSocket is a bidirectional TCP-like protocol, setup over an HTTP(S)request. WSS is the scheme for the secure version done over HTTPS.Experimental support for this was added to curl 7.86.0.

curl protocols - everything curl (2024)

FAQs

What protocols are used in curl? ›

curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP).

What is the default protocol of curl? ›

curl defaults to HTTP/1.1 for HTTP servers but if you connect to HTTPS and you have a curl that has HTTP/2 abilities built-in, it attempts to negotiate HTTP/2 automatically or falls back to 1.1 in case the negotiation failed. Non-HTTP/2 capable curls get 1.1 over HTTPS by default.

What is the SMTP curl protocol? ›

Sending email with curl is done with the SMTP protocol. SMTP stands for Simple Mail Transfer Protocol. curl supports sending data to an SMTP server, which combined with the right set of command line options makes an email get sent to a set of receivers of your choice.

What are the different types of curl authentication? ›

HTTP. HTTP offers many different methods of authentication and curl supports several: Basic, Digest, NTLM and Negotiate (SPNEGO). Without telling which method to use, curl defaults to Basic. You can also ask curl to pick the most secure ones out of the ones that the server accepts for the given URL, by using --anyauth ...

Does curl use HTTP or TCP? ›

The Basic authentication used in HTTP (which is the type curl uses by default) is plain text based, which means it sends username and password only slightly obfuscated, but still fully readable by anyone that sniffs on the network between you and the remote server.

Does curl use HTTP or HTTPS? ›

cURL supports several different protocols, including HTTP and HTTPS, and runs on almost every platform.

Does curl use 443? ›

The default used is 443.

Can curl use UDP? ›

The Curl Language provides APIs to use TCP sockets and UDP sockets.

Does curl require SSL? ›

When using curl to make requests to HTTPS URLs, curl automatically uses SSL/TLS protocols to secure the connection. By default, curl verifies the SSL/TLS certificate of the server it connects to, ensuring the server is trusted.

Does curl use TLS? ›

curl is designed to use a secure version of SSL/TLS by default.

Can curl send email? ›

As we already saw, curl supports most major mail protocols. Because of this, we can use curl to send mails from the terminal.

What is the default proxy protocol for curl? ›

curl does by default, assume that a host you point out with -x or --proxy is an HTTP proxy, and unless you also specify a port number it defaults to port 1080 (and the reason for that particular port number is purely historical).

What are Type 4 curls? ›

Also called coil or kinky hair, Type 4 hair is usually a more tight-knitted zig-zag patterned hair texture. This hair type is usually common among African – American women. With literally no space in between, it's considered the densest hair type.

What are Type 3 curls? ›

Type 3 hair, also known as curly hair, ranges from loose, loopy curls to tight, springy corkscrews. Styling type 3 hair while still wet is recommended. Strong-hold styling products such as leave-in conditioners and gels can help reduce frizz and define curls.

Does curl use UDP? ›

The Curl Language provides APIs to use TCP sockets and UDP sockets. Both kinds of sockets use an address/port pair to uniquely identify a socket location. For a client to talk to a server, it must know the address and port that the server is listening on.

Does curl use SFTP? ›

Did you know you can use curl as a minimal SFTP client? In this post we will guide you through the various curl commands for uploading, downloading, and listing files on a SFTP server, with ready to use snippets you can copy/paste in your terminal.

Does curl use ipv4 or ipv6? ›

Curl does use the ipv4 address if it doesn't receive the ipv6 address #11564.

References

Top Articles
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated:

Views: 6292

Rating: 4.6 / 5 (66 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.