[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-en-1-1-all-https-ssl-tls-explained-all--*":3,"academy-blog-translations-nb078x7ukmtah17":91,"academy-blog-faqs-nb078x7ukmtah17-en":92},{"data":4,"page":90,"perPage":90,"totalItems":90,"totalPages":90},[5],{"alt":6,"collectionId":7,"collectionName":8,"content":9,"cover_image":10,"cover_image_l_url":11,"cover_image_m_url":12,"cover_image_path":13,"cover_image_s_url":14,"created":15,"created_by":16,"expand":17,"id":83,"keywords":84,"locale":53,"published_at":85,"scheduled_at":70,"school_blog":79,"short_description":86,"status":77,"title":87,"updated":88,"updated_by":89,"slug":80,"views":82},"A wax-sealed envelope on a cafe table beside a coffee cup, with a card noting HTTP is readable as plain text and HTTPS is encrypted with TLS","sclblg987654321","school_blog_translations","\u003Cp>Picture yourself in a cafe, on the free Wi-Fi, logging in to a site with your email and password. At the next table someone has a laptop open on the same network. If that site uses plain HTTP, what you submit travels across the network readable as plain text, and anyone who knows how to watch the network could see your password in full. If the site uses HTTPS, all they get is which site you are talking to. Everything inside is encrypted into something they cannot read.\u003C\u002Fp>\u003Cp>In short: HTTPS is HTTP sent over a TLS connection, which encrypts the data, stops it being altered in transit, and proves that the server you reach really belongs to that domain. SSL is the name of TLS's predecessor, which has been retired.\u003C\u002Fp>\u003Cp>Today Superdev Academy walks through how HTTPS works, what actually separates SSL from TLS, and how to inspect a real website's certificate with commands you can type on your own machine.\u003C\u002Fp>\u003Ch2>What is HTTPS, and what does it stand for?\u003C\u002Fh2>\u003Cp>HTTPS stands for HyperText Transfer Protocol Secure, as MDN defines it. The added S is for Secure. The HTTP part is the same protocol your browser already uses to ask a server for a page (a Request) and get one back (a Response).\u003C\u002Fp>\u003Cp>A common assumption is that HTTPS is a separate protocol. It is not. The current HTTP standard, \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9110.html#section-4.2.2\">RFC 9110 section 4.2.2\u003C\u002Fa>, defines the \"https\" scheme as HTTP over a TLS connection that has been \"secured\": the server is authenticated, and the traffic has both confidentiality and integrity protection. GET requests, Status Codes like 200 and 404, and every Header look exactly the same. They are simply sealed inside an envelope that TLS closes for you.\u003C\u002Fp>\u003Cp>RFC 9110 also fixes the Port. When a URL does not name one, HTTPS defaults to TCP Port 443, while plain HTTP uses Port 80.\u003C\u002Fp>\u003Ch2>HTTP vs HTTPS: what is the difference?\u003C\u002Fh2>\u003Cp>Back to the cafe table. The most concrete difference is what someone sitting in the middle of the connection can see.\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>HTTP:\u003C\u002Fstrong> readable as plain text. That covers the full URL, Cookies and form fields, passwords included. Someone in the middle can also change the content before passing it on, and neither side will know.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>HTTPS:\u003C\u002Fstrong> encrypted with TLS. Someone in the middle still sees which IP you connect to, and in many cases the domain name, but not the page path, your Cookies or what you typed. If anyone tampers with the data on the way, the other end detects it.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Why does the domain name still leak? Partly because, before encryption starts, the browser has to tell the server which site it wants. That piece of information is called SNI (Server Name Indication). The other part is the DNS lookup that turns a name into an IP, which we cover in \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fwhat-is-dns-how-it-works\">What is DNS and how does it work\u003C\u002Fa>. None of this makes HTTPS pointless. It just means HTTPS protects the content, not the fact of where you went.\u003C\u002Fp>\u003Ch2>What is TLS, and what does it give a connection?\u003C\u002Fh2>\u003Cp>TLS stands for Transport Layer Security, a protocol that sits one layer below HTTP. The TLS 1.3 standard (\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc8446.html\">RFC 8446\u003C\u002Fa>, August 2018) says it is designed to prevent eavesdropping, tampering and message forgery, and breaks that into three properties.\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>Confidentiality:\u003C\u002Fstrong> once the connection is set up, the data is visible only to the two endpoints.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>Integrity:\u003C\u002Fstrong> if anyone changes the data in transit, the other end detects it.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>Authentication:\u003C\u002Fstrong> the server side is always authenticated; the client side optionally.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>The third property is where the Certificate comes in. RFC 9110 explains that a browser treats a server as the right one only when the server proves it holds the Private Key matching a Certificate the browser trusts for that domain. Think of a Certificate as the site's ID card, signed by a trusted third party called a Certificate Authority (CA). Your machine already ships with a list of CAs it trusts.\u003C\u002Fp>\u003Cp>Without that third property, encryption is close to meaningless. Someone in the middle could pose as the server and encrypt everything with you perfectly, and your data would still land in their hands.\u003C\u002Fp>\u003Ch2>SSL vs TLS: what is the difference?\u003C\u002Fh2>\u003Cp>The direct answer: TLS is the successor to SSL (Secure Sockets Layer). Both do the same job, but SSL has been retired completely. The timeline, from the IETF's own documents:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>SSL 3.0:\u003C\u002Fstrong> replaced by TLS 1.0 back in 1999. RFC 7568 (June 2015) states plainly that SSLv3 MUST NOT be used.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>TLS 1.0 and 1.1:\u003C\u002Fstrong> RFC 8996 (March 2021) deprecates both with the same wording.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>TLS 1.2 and 1.3:\u003C\u002Fstrong> the two versions still in use, with TLS 1.3 the latest, defined in RFC 8446.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Ch3>So why does everyone still say \"SSL certificate\"?\u003C\u002Fh3>\u003Cp>The name stuck from the era when SSL was the main standard, and plenty of tools still print the word SSL. Even curl, which we use in the next section, reports \"SSL connection using TLSv1.3\" while the protocol actually running is TLS 1.3. A certificate sold or issued as an \"SSL certificate\" is the same certificate TLS uses. Whenever you see \"SSL certificate\", read it as \"TLS certificate\".\u003C\u002Fp>\u003Ch2>Inspect a real certificate yourself\u003C\u002Fh2>\u003Cp>Rather than asking you to take our word for it, we inspected the certificate for www.superdevacademy.com with OpenSSL 3.6.3 on macOS on 1 October 2026. This command connects to Port 443 and prints just the key fields of the certificate.\u003C\u002Fp>\u003Cpre>\u003Ccode>$ openssl s_client -connect www.superdevacademy.com:443 -servername www.superdevacademy.com &lt;\u002Fdev\u002Fnull | openssl x509 -noout -subject -issuer -dates\nsubject=CN=www.superdevacademy.com\nissuer=C=US, O=Google Trust Services, CN=WE1\nnotBefore=Aug 21 08:04:58 2026 GMT\nnotAfter=Nov 19 09:04:55 2026 GMT\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Line by line:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>subject:\u003C\u002Fstrong> the certificate was issued for www.superdevacademy.com, the domain we connected to.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>issuer:\u003C\u002Fstrong> the CA that signed it is Google Trust Services.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>notBefore \u002F notAfter:\u003C\u002Fstrong> valid from 21 August to 19 November 2026, a lifetime of 90 days.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>The \u003Ccode>-servername\u003C\u002Fcode> flag sends the domain name (SNI) to the server up front, which is exactly why someone in the middle can still see the domain.\u003C\u002Fp>\u003Cp>To watch the connection being set up, run curl in verbose mode. Below is curl 8.4.0 on the same day, trimmed to the relevant lines.\u003C\u002Fp>\u003Cpre>\u003Ccode>$ curl -vI https:\u002F\u002Fwww.superdevacademy.com\u002F\n* SSL connection using TLSv1.3 \u002F AEAD-CHACHA20-POLY1305-SHA256\n*  subject: CN=www.superdevacademy.com\n*  subjectAltName: host \"www.superdevacademy.com\" matched cert's \"www.superdevacademy.com\"\n*  issuer: C=US; O=Google Trust Services; CN=WE1\n*  SSL certificate verify ok.\n&lt; HTTP\u002F2 200\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The \u003Ccode>matched cert's\u003C\u002Fcode> line means curl confirmed the name on the certificate matches the domain. \u003Ccode>SSL certificate verify ok\u003C\u002Fcode> means it confirmed the signing CA is on the list the machine trusts. If either check fails, a browser shows a warning page instead of opening the site.\u003C\u002Fp>\u003Ch2>The padlock does not mean a site is trustworthy\u003C\u002Fh2>\u003Cp>This is the most expensive misunderstanding in the whole topic. The padlock, or https:\u002F\u002F in the address bar, tells you two things only: the connection is encrypted, and the server holds a valid certificate for the domain shown in the address bar. It says nothing about whether the owner of that domain is honest.\u003C\u002Fp>\u003Cp>Scam sites can get certificates like anyone else. Let's Encrypt describes its own process: before issuing, the requester must prove control of the domain, either by publishing a DNS record or by placing a file at a set path on the site. What gets checked is \"do you control this domain\", not \"is this a legitimate business\". If the address bar reads paypa1-secure-login.example with a perfect padlock, encryption simply makes sure your password reaches the scammer safely.\u003C\u002Fp>\u003Cp>So the defence is not looking for the padlock. It is reading the domain name letter by letter before you type a password, and opening important sites from a bookmark or by typing the address yourself rather than tapping a link in a message. If you build websites, HTTPS is only the first layer of security. What comes next in your code is in \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fsecure-coding-for-beginners\">Secure Coding techniques every beginner should know\u003C\u002Fa>.\u003C\u002Fp>\u003Ch2>Where do certificates come from, and do they cost money?\u003C\u002Fh2>\u003Cp>They do not have to. \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fletsencrypt.org\u002Fdocs\u002Ffaq\u002F\">Let's Encrypt\u003C\u002Fa> is a nonprofit CA run by the Internet Security Research Group (ISRG), and its FAQ states that it does not charge a fee for its certificates. Its default certificates are valid for 90 days, and subscribers can opt in to short-lived certificates valid for just 6 days.\u003C\u002Fp>\u003Cp>Short lifetimes are not unique to Let's Encrypt. The superdevacademy.com certificate we just inspected also runs 90 days. And the CA\u002FBrowser Forum, where CAs and browser makers set the rules, adopted Ballot SC-081v3 in 2025 to cut the maximum TLS certificate lifetime in stages, starting March 2026 from 398 days and reaching 47 days in March 2029.\u003C\u002Fp>\u003Cp>In practice, renewing by hand makes less and less sense; renewal should be automated. For a production setup with Certbot and cert-manager, see \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fep-125-tls-wss-certificate-management-for-websocket\">EP.125 TLS \u002F WSS and Certificate Management for WebSocket\u003C\u002Fa>.\u003C\u002Fp>\u003Ch2>Finishing the move to HTTPS: redirects and mixed content\u003C\u002Fh2>\u003Ch3>Redirecting HTTP to HTTPS\u003C\u002Fh3>\u003Cp>Having a certificate is not the end of it. When someone types http:\u002F\u002F, the site should send them to https:\u002F\u002F automatically. Here is our own site checked on the same day, trimmed to the relevant lines.\u003C\u002Fp>\u003Cpre>\u003Ccode>$ curl -sI http:\u002F\u002Fwww.superdevacademy.com\u002F\nHTTP\u002F1.1 301 Moved Permanently\nLocation: https:\u002F\u002Fwww.superdevacademy.com\u002F\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>301 Moved Permanently is the Status Code telling the browser the page has moved for good, and Location says the new home is https:\u002F\u002F. For the other codes, see \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u002Fblogs\u002Fhttp-status-codes-explained\">HTTP Status Codes List Explained\u003C\u002Fa>.\u003C\u002Fp>\u003Ch3>What is mixed content?\u003C\u002Fh3>\u003Cp>According to \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FSecurity\u002FMixed_content\">MDN\u003C\u002Fa>, mixed content is a page loaded over HTTPS that fetches some of its resources over HTTP, such as an image or script linked with http:\u002F\u002F. Those resources can be read or modified in transit, so the page is not as safe as the padlock suggests. MDN splits it into two groups.\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>Upgradable:\u003C\u002Fstrong> images, audio and video. The browser rewrites the request to HTTPS itself and logs a warning in the Console.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>Blockable:\u003C\u002Fstrong> scripts, stylesheets, iframes, fetch() requests and web fonts. The browser blocks them outright.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>A common symptom after moving a site to HTTPS is a broken layout or buttons that do nothing. The cause is usually a CSS or JavaScript file still linked with http:\u002F\u002F. To track it down, open the DevTools Console, see which files were blocked, and change each link to https:\u002F\u002F one at a time.\u003C\u002Fp>\u003Cdiv data-type=\"horizontalRule\">\u003Chr>\u003C\u002Fdiv>\u003Ch2>Summary: what is HTTPS, and why does it matter for using websites?\u003C\u002Fh2>\u003Cp>HTTPS is HTTP running over TLS, not a new protocol. It matters because of the three things TLS provides: data such as passwords and Cookies cannot be read in transit even on public Wi-Fi, content cannot be altered without detection, and you really are talking to that domain's server. SSL is the retired older name that survives only in the phrase \"SSL certificate\". And the padlock only tells you the connection is secure, not that the site's owner deserves your trust.\u003C\u002Fp>\u003Cp>Open a Terminal and run the openssl command above against a site you use every day. See who the issuer is, when the certificate expires, and whether that site's http:\u002F\u002F redirects to https:\u002F\u002F. Five minutes looking at the real thing turns this from vocabulary into something you understand.\u003C\u002Fp>\u003Cp>Follow more articles and tips for people starting out as programmers on our channels.\u003C\u002Fp>\u003Cp>Facebook: \u003Cstrong>Superdev Academy Thailand\u003C\u002Fstrong> (\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.academy.th\">https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.academy.th\u003C\u002Fa>)\u003C\u002Fp>\u003Cp>YouTube: \u003Cstrong>Superdev Academy Channel\u003C\u002Fstrong> (\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.youtube.com\u002F@SuperdevAcademy\">https:\u002F\u002Fwww.youtube.com\u002F@SuperdevAcademy\u003C\u002Fa>)\u003C\u002Fp>\u003Cp>Instagram: \u003Cstrong>@superdevacademy\u003C\u002Fstrong> (\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.instagram.com\u002Fsuperdevacademy\u002F\">https:\u002F\u002Fwww.instagram.com\u002Fsuperdevacademy\u002F\u003C\u002Fa>)\u003C\u002Fp>\u003Cp>TikTok: \u003Cstrong>@superdevacademy\u003C\u002Fstrong> (\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.tiktok.com\u002F@superdevacademy?lang=th-TH\">https:\u002F\u002Fwww.tiktok.com\u002F@superdevacademy?lang=th-TH\u003C\u002Fa>)\u003C\u002Fp>","cover_cover_klmg0wylkn.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fbbin6spwyjwbimr\u002Fl\u002Fcover_cover_klmg0wylkn.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fbbin6spwyjwbimr\u002Fm\u002Fcover_cover_klmg0wylkn.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fbbin6spwyjwbimr\u002Fcover_cover_klmg0wylkn.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fbbin6spwyjwbimr\u002Fs\u002Fcover_cover_klmg0wylkn.webp","2026-10-01 06:33:40.501Z","wfztm6bp9384v3u",{"keywords":18,"locale":47,"school_blog":57},[19,25,29,32,36,40,44],{"collectionId":20,"collectionName":21,"created":22,"created_by":16,"id":23,"name":24,"updated":22,"updated_by":16},"sclkey987654321","school_keywords","2026-10-01 06:33:40.496Z","kjpma70tpu6tn5n","what is https",{"collectionId":20,"collectionName":21,"created":26,"created_by":16,"id":27,"name":28,"updated":26,"updated_by":16},"2026-10-01 06:33:40.497Z","f18pshmz9sjtjbm","ssl vs tls",{"collectionId":20,"collectionName":21,"created":26,"created_by":16,"id":30,"name":31,"updated":26,"updated_by":16},"aks10pdhd376in6","http vs https",{"collectionId":20,"collectionName":21,"created":33,"created_by":16,"id":34,"name":35,"updated":33,"updated_by":16},"2026-10-01 06:33:40.498Z","13joiemd0tlo6kc","tls 1.3",{"collectionId":20,"collectionName":21,"created":37,"created_by":16,"id":38,"name":39,"updated":37,"updated_by":16},"2026-10-01 06:32:48.061Z","wh3rdw3suu5kfsp","ssl certificate",{"collectionId":20,"collectionName":21,"created":41,"created_by":16,"id":42,"name":43,"updated":41,"updated_by":16},"2026-10-01 06:32:48.062Z","m0xkjndow7i2btu","mixed content",{"collectionId":20,"collectionName":21,"created":41,"created_by":16,"id":45,"name":46,"updated":41,"updated_by":16},"rj4bd2io4265in3","let's encrypt",{"code":48,"collectionId":49,"collectionName":50,"created":51,"flag":52,"id":53,"is_default":54,"label":55,"updated":56},"en","pbc_1989393366","locales","2026-01-22 11:00:02.726Z","twemoji:flag-united-states","qv9c1llfov2d88z",false,"English","2026-04-10 15:42:46.825Z",{"category":58,"collectionId":59,"collectionName":60,"created":61,"expand":62,"id":79,"slug":80,"updated":81,"views":82},"spm4l1k5bgmhmmt","pbc_2105096300","school_blogs","2026-10-01 06:32:48.063Z",{"category":63},{"blogIds":64,"collectionId":65,"collectionName":66,"created":67,"created_by":68,"id":58,"image":69,"image_alt":70,"image_path":71,"image_s_url":72,"label":73,"name":74,"priority":75,"publish_at":76,"scheduled_at":70,"status":77,"updated":78,"updated_by":68},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:31:18.590Z","76qprkevbgfdps8","50hyjr6os45_ayazwr5gq7_tqzz9l5y5w.webp","","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fspm4l1k5bgmhmmt\u002F50hyjr6os45_ayazwr5gq7_tqzz9l5y5w.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fspm4l1k5bgmhmmt\u002Fs\u002F50hyjr6os45_ayazwr5gq7_tqzz9l5y5w.webp",{"en":74,"th":74},"Knowledge",0,"2026-03-18 02:25:41.222Z","published","2026-08-18 14:49:11.737Z","nb078x7ukmtah17","https-ssl-tls-explained","2026-10-29 08:19:29.688Z",124,"bbin6spwyjwbimr",[23,27,30,34,38,42,45],"2026-10-29 04:40:25.787Z","What HTTPS stands for, how TLS encrypts and authenticates a connection, why SSL is retired, and how to inspect a real site certificate with openssl and curl.","What is HTTPS? SSL vs TLS Explained with a Real Certificate","2026-10-29 04:40:25.789Z","ebkf8ra4nd55ual",1,{"th":80,"en":80},[93,97,101,105,109,113],{"answer":94,"id":95,"question":96},"HTTPS stands for HyperText Transfer Protocol Secure. The S means HTTP is sent over a TLS connection that encrypts the data, protects it from tampering in transit, and authenticates the server with a Certificate. RFC 9110 defines the https scheme this way and sets TCP Port 443 as its default port.","qqo57pg6w1sl4cs","What does HTTPS stand for, and what does the S mean?",{"answer":98,"id":99,"question":100},"HTTPS is more secure because it encrypts traffic with TLS, while HTTP sends everything as readable plain text. Anyone on the same network path may see the URL, Cookies and passwords typed into forms, and can alter content undetected. Any site with a login or personal data should use HTTPS and redirect http:\u002F\u002F to https:\u002F\u002F with a 301 Status Code.","f98vko6kuvlsc6y","Which is more secure, HTTP or HTTPS?",{"answer":102,"id":103,"question":104},"TLS is the successor to SSL and does the same job, but SSL is retired. SSL 3.0 was replaced by TLS 1.0 in 1999, and RFC 7568 (2015) forbids SSLv3. RFC 8996 (2021) then deprecated TLS 1.0 and 1.1. Websites today use TLS 1.2 and TLS 1.3, so \"SSL certificate\" is just a legacy name for a certificate used with TLS.","szmcd6m09wrov50","What is the difference between SSL and TLS?",{"answer":106,"id":107,"question":108},"Yes, for the content: TLS encrypts your passwords, Cookies and the paths of pages you open, so others on the same Wi-Fi cannot read them. They may still see the IP address and the domain name you connect to, via SNI and DNS. If the browser shows a Certificate warning while you are on public Wi-Fi, do not click through and enter data.","uz50kd12x5nlfl9","Is HTTPS safe on public Wi-Fi?",{"answer":110,"id":111,"question":112},"HTTPS uses TCP Port 443 by default, as RFC 9110 specifies, while plain HTTP uses Port 80. If a URL does not name a port, the browser connects to 443 automatically. You can check a site with openssl s_client -connect example.com:443, which shows the server's Certificate and the TLS version it negotiates.","0583uj6oqk4e7jf","What port does HTTPS use?",{"answer":114,"id":115,"question":116},"It means the browser could not validate that site's Certificate. The main causes are an expired certificate, a name on the certificate that does not match the domain, or a certificate not issued by a CA your device trusts, such as a self-signed one. You can check expiry dates with openssl x509 -noout -dates, and you should not enter passwords on a page showing this warning.","tee553ekyluedsh","What does an invalid SSL certificate warning mean?"]