webkit常见问题汇总
来源:互联网 发布:剑三淘宝金币怎么买 编辑:程序博客网 时间:2024/05/16 06:11
前段时间有人问我一个简单的问题,html如何创建解析的? 我讲了一大堆,什么通过DocumentLoader, CachedResourceLoader, CacheResource, ResourceLoaderScheduler, ResourceHandle这些类一步一步的完成cache查找然后请求下载等等。
滔滔不绝,直到我调试xml解析时,我才发现好多问题都与理解的不一致,在分析源码的时候只了解了大体步骤。细节你真的清楚吗?
一、HTTP header 网页头请求
列举几个重要的
Requests部分
Accept
指定客户端能够接收的内容类型
Accept: text/plain, text/html
Accept-Charset
浏览器可以接受的字符编码集。
Accept-Charset: iso-8859-5
Accept-Encoding
指定浏览器可以支持的web服务器返回内容压缩编码类型。
Accept-Encoding: compress, gzip
Accept-Language
浏览器可接受的语言
Accept-Language: en,zh
Connection
表示是否需要持久连接。(HTTP 1.1默认进行持久连接)
Connection: close
Cookie
HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。
Cookie: $Version=1; Skin=new;
Content-Length
请求的内容长度
Content-Length: 537
Content-Type
请求的与实体对应的MIME信息
Content-Type: application/x-www-form-urlencoded
Date
请求发送的日期和时间
Date: Tue, 15 Mar 2015 15:12:31 GMT
User-Agent
User-Agent的内容包含发出请求的用户信息
User-Agent: Mozilla/5.0 (Linux; X11)
Responses 部分
Accept-Ranges
表明服务器是否支持指定范围请求及哪种类型的分段请求
Accept-Ranges: bytes
Age
从原始服务器到代理缓存形成的估算时间(以秒计,非负)
Age: 12
Allow
对某网络资源的有效的请求行为,不允许则返回405
Allow: GET, HEAD
Cache-Control
告诉所有的缓存机制是否可以缓存及哪种类型
Cache-Control: no-cache
Content-Encoding
web服务器支持的返回内容压缩编码类型。
Content-Encoding: gzip
Content-Language
响应体的语言
Content-Language: en,zh
Content-Length
响应体的长度
Content-Length: 348
Content-Location
请求资源可替代的备用的另一地址
Content-Location: /index.htm
Content-MD5
返回资源的MD5校验值
Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Range
在整个返回体中本部分的字节位置
Content-Range: bytes 21010-47021/47022
Content-Type
返回内容的MIME类型
Content-Type: text/html; charset=utf-8
Date
原始服务器消息发出的时间
Date: Tue, 15 Mar 2015 15:12:31 GMT
Location
用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
Location: http://www.oschina.net/u/2335812/admin
User-Agent这个字段用户信息,表明你浏览器支持标准,服务器会解析该字段返回不同请求(一个适配多终端的网页会做兼容处理)这点在iptv中要特别注意,好多时候有些前端网页就是要加些特殊字段才能正常操作甚是郁闷。HTTP 请求头里面能传送较多的信息
二、webkit 如何区分创建html,xml等解析
它是在HTTP请求返回的200 OK中的Content-Type字段决定的,Content-Type: text/html; charset=utf-8,说明了text
类型html, 字符编码utf-8。
在DOMImplementation.cpp 中createDocument()创建时判断type是否为html,xml,video等这个type就是请求返回OK字段中的Content-Type解析出来的。
三、请求重定向
重定向是在HTTP请求返回的302 Found的Location字段返回的url决定跳转的新地址
四、设置load缓存大小
在loader/cache/MemoryCache.cpp 文件中setCapacities() 函数可以设置缓存大小,找到一个资源加载速度与内存使用的平衡点
这样的细节还有很多,大家也可以诉说一下您遇到的问题
如果大家对本文章有疑问,可以直接在公众号留言,小编第一时间联系原创作者帮你耐心解答。
技术人员都有自己的情怀,深陷其中而不被理解,欢迎关注个人微信公众平台:程序员互动联盟(coder_online),一个开发人员的家,来诉说自己的故事。
- webkit常见问题汇总
- webkit常见问题汇总
- 常见问题汇总
- 常见问题汇总
- 常见问题汇总
- 常见问题汇总
- webkit问题汇总
- android webkit 汇总
- webkit资料教程汇总
- ASP.NET常见问题汇总
- N70常见问题汇总
- Symantec Antivirus 常见问题汇总
- 数据库常见问题汇总
- Veritas常见问题汇总
- IE常见问题汇总
- PHP常见问题汇总
- SVG常见问题汇总
- VS2005常见问题汇总
- map,reduce用法举例
- 使用Intent传递数据之返回结果
- eclipse代码提示
- 7-1通信系统中为什么要进行编码和译码?常见的编码方法有哪些?
- c++顺序容器的操作
- webkit常见问题汇总
- 二叉树的创建 先序 中序 后续 递归和非递归遍历
- (NEON实例一)ARM处理器NEON编程及优化技巧——数据加载和存储
- FreeSWITCH使用说明
- 最常见的 20 个 jQuery 面试问题及答案
- 第24章-启动 停止 和配置mysql
- http://blog.csdn.net/wencheng2998/article/details/6428985
- 栈 通用链表实现
- Java 泛型: 什么是PECS(Producer Extends, Consumer Super)