这一章节主要对http协议进行一个基本的解析,相关的技术细节最好要熟悉。
1.HTTP协议
A:HTTP协议请求,如下图所示:
首先对HTTP协议的首部字段进行解析,
第一个为http方法,常用的有get(用于请求资源),post(用于请求执行操作)等
第二个为被请求的URL。
第三个为使用的HTTP版本,例如http 1.1和1.0等
其他一些字段介绍如:
Referer:用于表示发出请求的原始url
Host:用于表示被访问的url的原始主机名称。
User-Agent:提供与发出请求的浏览器或者其他软件的有关信息。
B.HTTP协议响应:
接下来是一些简单的http协议解析:
server字段:包含着web服务器软件的信息,其结果并不一定准确。
set-cookie:向浏览器发送一个cookie,用于当成会话令牌。
pragma:用于指示指示浏览器不要将响应保存在缓存中。
Expires:用于指示响应内容已经过期,不应保存在缓存中。
content-Length:指示消息主体的长度
content-type:指示消息主题的内容。
C.常用的http消息头:
connection:用于指示http传输完成以后是否要关闭tcp连接。
content-Encoding:用于指示消息主体的内容编码形式。
accept:用于告诉服务器用户愿意接受哪些内容。
accept-encoding:客户愿意接受的内容编码
authorizition:用于内置的http身份验证向服务器传递身份证书
location:用于重定向响应。
cache-control:向浏览器发送缓存命令。
if-modified-since:指示浏览器最后一次收到被请求资源的时间。若资源没有变化,服务器会发布一个304响应。
if-none-match:给消息主体制定一个标签,浏览器可以向服务器提交该标签,用于服务器判断浏览器是否正在使用该资源副本。
D:常用的http方法:
1.head:与get相似,但不会返回消息主体,主要用于探求一个资源是否存在。
2.trace:用来诊断追踪代理服务器。
3.put:向服务器上传资源。
4.options:服务器会返回其支持的http方法。
E: cookie常见属性设置
1.expires:设定cookie的有效时间
2.domain指定cookie的有效域
3.path:指定cookie的有效url路径。
4.secure:如果设定这个属性,仅在https中提交cookie
5.httponly如果设定这个属性,则无法通过客户端javascript来访问cookie.
3.web功能
A:服务器端:主要科普了web应用程序框架,如java平台,php平台,asp.net平台
B:客户端功能:主要包括HTML,javascript,表单,超链接,厚客户组件。
4.几种常见的编码
A:url编码,表示ascii字符集中有问题的字符,普遍形式是%再加上16进制的ascii编码
B:utf-16:编码形式是%u再加上这个字符的16进制unicode码点。
utf-8是%再加上每个字符的16进制编码。
C:html编码用于把问题字符编入html文档中进行传输。
D:base64编码把字符段转化为3个字符块,每个字符块化为4段,每个段6位字符,每个字符有64种可能,若最后不能编满72位,需要再后面加入+或者=组成。
E:16进制编码,这个很简单了。
5.课后题目答案:
A:options方法用于指示服务器支持什么头部方法。
B:cookie中secure标签的含义在于在https中传递cookie
c:301表示永久重定向,302表示暂时重定向