Introduction
Introduction Statistics Contact Development Disclaimer Help
Specify UTF-8 for non-binary content-types - quark - quark web server
git clone git://git.suckless.org/quark
Log
Files
Refs
LICENSE
---
commit bbd47e1427940e0d4f22a098acd593c1365accd3
parent d2013a6337972c62a71f01324e87af0e55579245
Author: Laslo Hunhold <[email protected]>
Date: Wed, 2 Jan 2019 17:04:23 +0100
Specify UTF-8 for non-binary content-types
If charset is unspecified, the encoding falls back to ISO 8859-1 or
something else that is defined in HTTP/1.1.
Given there is no reason not to use UTF-8 nowadays[0] and one can convert
legacy encodings to UTF-8 easily, if the case comes up, it is a sane
default to specify it in the config.def.h.
[0]: https://utf8everywhere.org/
Signed-off-by: Laslo Hunhold <[email protected]>
Diffstat:
M config.def.h | 20 ++++++++++----------
M http.c | 2 +-
M resp.c | 2 +-
3 files changed, 12 insertions(+), 12 deletions(-)
---
diff --git a/config.def.h b/config.def.h
@@ -6,15 +6,15 @@ static const struct {
char *ext;
char *type;
} mimes[] = {
- { "xml", "application/xml" },
- { "xhtml", "application/xhtml+xml" },
- { "html", "text/html; charset=UTF-8" },
- { "htm", "text/html; charset=UTF-8" },
- { "css", "text/css" },
- { "txt", "text/plain" },
- { "md", "text/plain" },
- { "c", "text/plain" },
- { "h", "text/plain" },
+ { "xml", "application/xml; charset=utf-8" },
+ { "xhtml", "application/xhtml+xml; charset=utf-8" },
+ { "html", "text/html; charset=utf-8" },
+ { "htm", "text/html; charset=utf-8" },
+ { "css", "text/css; charset=utf-8" },
+ { "txt", "text/plain; charset=utf-8" },
+ { "md", "text/plain; charset=utf-8" },
+ { "c", "text/plain; charset=utf-8" },
+ { "h", "text/plain; charset=utf-8" },
{ "gz", "application/x-gtar" },
{ "tar", "application/tar" },
{ "pdf", "application/x-pdf" },
@@ -24,7 +24,7 @@ static const struct {
{ "jpg", "image/jpg" },
{ "iso", "application/x-iso9660-image" },
{ "webp", "image/webp" },
- { "svg", "image/svg+xml" },
+ { "svg", "image/svg+xml; charset=utf-8" },
{ "flac", "audio/flac" },
{ "mp3", "audio/mpeg" },
{ "ogg", "audio/ogg" },
diff --git a/http.c b/http.c
@@ -58,7 +58,7 @@ http_send_status(int fd, enum status s)
"Date: %s\r\n"
"Connection: close\r\n"
"%s"
- "Content-Type: text/html\r\n"
+ "Content-Type: text/html; charset=utf-8\r\n"
"\r\n"
"<!DOCTYPE html>\n<html>\n\t<head>\n"
"\t\t<title>%d %s</title>\n\t</head>\n\t<body>\n"
diff --git a/resp.c b/resp.c
@@ -56,7 +56,7 @@ resp_dir(int fd, char *name, struct request *r)
"HTTP/1.1 %d %s\r\n"
"Date: %s\r\n"
"Connection: close\r\n"
- "Content-Type: text/html\r\n"
+ "Content-Type: text/html; charset=utf-8\r\n"
"\r\n",
S_OK, status_str[S_OK], timestamp(time(NULL), t)) < 0) {
s = S_REQUEST_TIMEOUT;
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.