`
macken
  • 浏览: 346114 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HttpHeader Content-Type实验

 
阅读更多

文件编码实验


html文件为UTF-8编码,chrome浏览器下测试

 

Server Content-Charset html内部charset 结果
UTF-8 UTF-8 正确
UTF-8 GB2312 正确
UTF-8 正确
gb2312 UTF-8 乱码
gb2312 GB2312 乱码
gb2312 乱码
UTF-8 正确
GB2312 乱码
正确

 

html文件为ANSI编码,chrome浏览器下测试

 

Server Content-Charset html内部charset 结果
UTF-8 UTF-8 乱码
UTF-8 GB2312 乱码
UTF-8 乱码
gb2312 UTF-8  正确
gb2312 GB2312 正确
gb2312 正确
UTF-8 乱码
GB2312 正确
正确

 

在Server端及html内部均不设置charset时,各浏览器下html显示情况

 

浏览器 html文件编码 结果
IE9 GB2312 乱码
Firefox GB2312 正确
Chrome GB2312 正确
IE9 UTF-8

正确

Firefox UTF-8 正确
Chrome UTF-8 正确

 

结论:

1.无论是server端还是html文件内部指定charset时,都需要与文件的编码保持一致;

2.浏览器在解析Content-Type时,首先解析Response Header里的Content-Type,如果存在则按照Content-Type指定的charset对流进行解析。如果不存在,获取页面中“<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>”的值,如果存在charset,按照charset指定的值进行编码。

3.如果server或html文件都未给出charset,则浏览器按照自行判断文件可能使用的编码,不同的浏览器显示效果不同;

分享到:
评论

相关推荐

    url_shrtnr_p_testzone

    --header ' content-type: application/json ' \ --data ' { "email": "aaa@example.com", "password": "passw000rd" } ' -v 登录 curl --request POST \ --url http://localhost:8080/login \ --header ' ...

    JavaEE企业级开发-----SpringMVC实现 文件的上传下载实验报告.docx

    response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(filename, "UTF-8")); Files.copy(file.toPath(), response.getOutputStream()); } else { response....

    JavaWeb开发技术-解决中文输出乱码问题.docx

    如果只使用`setContentType`而不调用`setCharacterEncoding`,那么浏览器可能会根据HTTP头部的`Content-Type`来猜测字符集,这可能不总是准确的。 此外,`setHeader(String name, String value)`方法可以用来设置...

    实验6 JSP技术.docx

    &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; 用户登陆页面 用户名: &lt;input name="username" type="text" /&gt; 密码: &lt;input name="password" type="text" /&gt; 自动登陆...

    Web服务器压力测试

    -T content-type 指定POST请求使用的Content-Type头信息。 -v verbosity 设置输出信息的详细程度,不同的值会显示不同级别的信息。 -V 显示版本信息并退出。 -w 以HTML表格的形式输出结果。 -x&lt;table&gt;-...

    APISpace 驾驶证信息核验 API接口 PHP调用示例代码

    `CURLOPT_HTTPHEADER`则设置了请求头,包括API的访问令牌(`X-APISpace-Token:`)和认证类型(`Authorization-Type: apikey`),这些都是调用API所必需的。 最后,`curl_exec()`执行了HTTP请求,如果出现错误,`...

    JSP内置对象实验报告.doc

    The response object, which is an instance of HttpServletResponse, is used to send a response back to the client.&lt;/p&gt;&lt;p&gt;Content-Type set to: ()%&gt;&lt;/p&gt;&lt;p&gt;Cache-Control header set to: ("Cache-Control")%&gt;...

    HttpClient小实验

    httpPost.setHeader("Content-Type", "application/json; charset=UTF-8"); ``` 此外,HttpClient提供了一些高级特性,如重试策略、连接管理和多线程支持。例如,你可以通过`RequestConfig`自定义请求配置,包括...

    HTTP协议详解.pdf

    3. **灵活性**:HTTP协议支持传输任意类型的数据,数据类型通过Content-Type头部字段标识。 4. **无连接性**:每次请求处理完成后,服务器与客户端之间的连接将被断开,这种方式减少了资源消耗,加快了响应速度。 5....

    实验3.内置对象与属性范围练习[1].pdf

    String contentType = response.getHeader("Content-Type"); ``` ##### 2.2 设置定时刷新练习 为了实现页面的定时刷新功能,可以利用`response.setHeader()`方法设置`Refresh`头。 **步骤详解**: - **设置定时...

    Web应用安全:使用Perl的对策进行HTML转义的方法(实验).docx

    print "Content-type: text/html\n\n"; print "&lt;html&gt;&lt;body&gt;"; print "&lt;h1&gt;Hello World!&lt;/h1&gt;"; print "&lt;/body&gt;&lt;/html&gt;"; ``` - 在浏览器中输入`http://localhost/cgi-bin/test.cgi`来测试CGI脚本是否正常工作...

    动态网页制作实验题

    'Content-Type': 'application/json' }, body: JSON.stringify({ name, message, ip, time }) }).then(response =&gt; response.json()) .then(data =&gt; console.log(data)) .catch(error =&gt; console.error('Error...

    PHP实现文件上传与下载实例与总结

    header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=".$_GET['filename']); readfile($_GET['filename']); exit; ``` 在这个例子中,用户通过URL访问下载脚本...

    PHP网页开发与设计实训报告

    &lt;meta http-equiv="Content-Type" content="text/html;charset=gb2312"/&gt; $sqlstr = "SELECT * FROM system WHERE id = 1"; $result = $DB-&gt;query($sqlstr); while ($rows = $DB-&gt;fetch_array($result)) { ?&gt;...

    页面乱码问题的根源及其分析

    而对于PHP脚本,利用header()函数来明确指定HTTP头部的Content-Type编码也是避免乱码的有效方法。当遇到编码不明确时,了解浏览器默认处理机制以及服务器的相关设置,有助于迅速定位问题并找到解决办法。

    polylingual-api-calls

    - 添加请求头,如Authorization令牌、Content-Type等。 - 发送请求体(如果请求类型为POST或PUT),并读取响应。 4. **使用Apache HttpClient** - Apache HttpClient是一个强大的HTTP客户端库,提供更高级别的...

    JavaWeb文件上传与下载功能解析

    resp.setHeader("Content-Disposition", "attachment; filename=\"" + file.getName() + "\""); resp.setContentLength((int) file.length()); try (FileInputStream fis = new FileInputStream(file)) { byte...

    上传下载一个JSP上传图片和文件实例

    使用`response.setContentType()`指定文件类型,`response.setContentLength()`设置文件大小,`response.setHeader("Content-Disposition", "attachment; filename=yourfilename")`告知浏览器这是一个附件,用户将被...

    dtr.http-github.io

    【标题】"dtr.http-github.io" 是一个与网页...通过分析提供的压缩包文件 "dtr.http-github.io-main",我们可以更深入地了解这个项目具体包含的内容,如HTML代码示例、布局设计,或者可能是关于HTML的一些实验和测试。

    jsp内建对象简介和使用

    Content Type: ()%&gt; Server Name: ()%&gt; Server Port: ()%&gt; Authorization Scheme: ()%&gt; The Browser you are using is ("User-Agent")%&gt; ``` #### 2. Response (响应对象) `response`对象...

Global site tag (gtag.js) - Google Analytics