`
damengjiejie
  • 浏览: 9346 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

webkit常见问题汇总

 
阅读更多

前段时间有人问我一个简单的问题,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),一个开发人员的家,来诉说自己的故事。

                                                        

分享到:
评论

相关推荐

    java集成webkit浏览器

    java集成webkit浏览器,内附详细Demo,注意64位需要用64位swt

    Webkit_webkit浏览器_webkit_android_

    基于Webkit的新手级浏览器源码是一个简易web浏览器,基于安卓Webkit开发的。

    Qtwebkit安装库适用于QT5.14版本.zip

    Qtwebkit安装库适用于QT5.14版本。 包含了MinGw730 、VS2017 编译器的的32和64位库。 qtwebkit-Windows-Windows_7-Mingw73-Windows-Windows_7-X86.7z qtwebkit-Windows-Windows_10-Mingw73-Windows-Windows_10-X86_...

    WebKit技术内幕d

    WebKit技术内幕WebKit技术内幕WebKit技术内幕WebKit技术内幕WebKit技术内幕

    c# winform 调用webkit

    c# winform webkit C# 调用webkit

    WebKit.Interop_浏览器源码_webkit_

    WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox 等使用),Trident(也称MSHTML,IE 使用)和EdgeHTML(也称Chakra,Edge和其他UWP浏览器使用)。同时WebKit 也是苹果Mac OS X 系统引擎...

    WebKit源代码结构

    WebKit源代码结构,更好的了解webkit,更好的用于webkit开发

    webkit 内核介绍文档入门

    Webkit内核探究 ;webkit介绍 ;应用程序如何利用Webkit;关于webkit入门介绍

    基于Webkit的Web开发

    基于Webkit的Web应用开发,主要包含webkit支持的css

    WebKit2.NET

    WebKit是开源的Web浏览器引擎所使用的一些最流行的Web浏览器,如Safari和谷歌Chrome和许多手持式设备。 WebKit2是WebKit的新的,完全不阻塞API层,它引入了一个分裂的过程模型 - web进程是孤立的UI过程中提供更好的...

    WebKit.NET-0.3.rar

    由于Google Chrome采用了WebKit内核,由此使得WebKit内核浏览器的人气迅速攀升。对于庞大的webkit开源程序,普通程序员一般无需接触。通过WebKit.NET,我们也可以开发一些简单的浏览器。WebKit.NET 是一个 C# 的组件...

    webkit研究报告2.pdf

    webkit研究报告,webkit介绍 webkit porting介绍 图形库介绍 网络库介绍

    WebKit.net

    WebKit.net

    Webkit介绍

    介绍Webkit

    Windows下编译Webkit过程

    Windows下编译Webkit过程!!想编译webkit内核的请看!

    android_webkit

    android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit

    Webkit内核,含导入WebKit.Interop.dll

    Webkit内核,含导入WebKit.Interop.dll,辛苦才搞来

    WEBKIT测试TEST工程

    WEBKIT测试工程

    qtwebkit_demo

    QTwebkit demo 帮助学习QT

    侯炯《WebKit 研究报告》.pdf

    一.Webkit 介绍 二.Webkit 编译详解 1.依赖库及介绍 2.X11+Gtk+WebKit 交叉编译详解 3.编译出错 Q&A 三.WebKit 分析 1.体系结构 2.解析流程 3.浏览器系统结构 四.各种浏览器比较分析 1.网页浏览器列表 2...

Global site tag (gtag.js) - Google Analytics