什么是HTTP报头?什么是字符集?



我对编码以及PHP和XHTML都是新手。我只是在浏览元标签的细节,不理解属性http-equiv,也不理解所使用的字符集是什么,以及值UTF-8指的是什么,例如<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Joel Spolsky有一篇非常好的文章讨论了字符集。看一下:

每个软件开发人员绝对、肯定地必须了解Unicode和字符集的绝对最低限度(没有借口!)

至于HTTP报头,在Google上快速搜索一下"理解HTTP报头",就会发现相当多描述它们的好文章。这里有一个:HTTP头文件的傻瓜。

简而言之,HTTP报头基本上是发送到用户网络浏览器的小消息,告诉浏览器它将接收到的输出(即,它是一个网页,一个文件,一个图像;应该缓存吗?

HTTP头也从用户的web浏览器发送回服务器。最明显的例子还是cookie——浏览器保存的每个cookie都应该在每次HTTP请求时发送回服务器。

在你的例子中,你可能在谈论一个特定的HTTP头,它定义了页面的字符集。<meta http-equiv="">标记用于模拟HTTP标头。

例如,如果你有一个静态的HTML页面,想要利用一个特定的HTTP头,但不能在web服务器中配置它,你可以使用<meta http-equiv="">标签来实现相同的结果。

@Ryan:很棒的链接。我希望在12年前开始实施大型国际CMS之前就能读到这篇文章。

简单来说,当浏览器接收到HTTP响应流(被请求的网页)时,它所看到的只是一个字节序列。由于字节可以表示不同的字符,这取决于服务器使用的编码,因此浏览器在解释字节流时使用元标记中指定的编码是非常重要的。如果服务器使用的编码与它放入元标记中的编码不同,您将看到乱码。

相反,与网页POST相关的HTTP请求也有一个由浏览器透明地提供的编码,因为服务器需要知道如何解释发送的任何表单数据

相关内容

  • 没有找到相关文章

最新更新