2018-01-31-第三章

这一章节主要对http协议进行一个基本的解析,相关的技术细节最好要熟悉。

1.HTTP协议

A:HTTP协议请求,如下图所示:


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表示暂时重定向

你可能感兴趣的:(2018-01-31-第三章)