网页的内容是HTML代码编写的,文字,图片等内容均经过写好的HTML代码来指定,这种页面叫做静态网页;这种网页缺陷很大,如可维护性差,不能根据URL灵活多变的显示内容等;如想要给网页的URL传入一个name参数,让其在网页中显示出来,这是没法作到的。web
动态网页能够动态解析URL中的参数变化,关联数据库并动态呈现不一样的页面内容,灵活多变;动态网站还能够实现用户登陆和注册功能数据库
HTTP的无状态是指HTTP协议对事务的处理没有记忆能力,也就是说服务器不知道客户端是什么状态。浏览器
此时用于保持HTTP链接状态的技术就出现了,分别是会话(Session)和Cookies,会话在服务端,即服务器端,用来保持用户的会话信息;Cookies在客户端,即浏览器端,有了Cookies,浏览器在下次访问网页时会自动附带上它发送给服务器,服务器经过识别Cookies并鉴定是哪一个用户,而后判断用户是不是登陆状态,而后返回对应的响应。安全
所以在爬虫中,有时候处理须要登陆才能访问的页面时,咱们通常会直接将登陆成功后获取的Cookies放在请求头里面直接请求,没必要从新模拟登陆服务器
在web中,会话对象用来存储特定用户会话所需的属性及配置信息,这样,当用户在用户在应用程序的web页之间跳转时,存储在会话对象中的变量将不会丢失,而是在整个用户会话中一直存在下去;当用户请求来自应用程序的Web页时,则Web服务器将自动建立一个会话对象;当会话过时或被放弃后,服务器将终止该会话。网站
Cookies指某些网站为了辨别用户身份,进行会话跟踪而存储在用户本地终端上的数据编码
1)会话维持 当客户端第一次请求服务器时,服务器会返回一个请求头中带有Set-Cookie字段的响应给客户端,用来标记是哪一个用户,客户端浏览器会把Cookies保持起来。当浏览器下次请求该网站时,浏览器会把此Cookies放到请求头一块儿提交给服务器,Cookies携带了会话ID信息,服务器检查该Cookies便可找到对应的会话是什么,而后再判断会话来以此辨认用户状态。 在成功登陆某个网站时,服务器会告诉客户端设置哪些Cookies信息,在后续访问页面时客户端会把Cookies发送给服务器,服务器再找到对应的会话加以判断。若是会话中的某些设置登陆状态的变量时有效的,那就证实用户处于登陆状态,此时返回登陆以后才能查看的网页内容,浏览器进行解析就能看到。反之不行。 2)属性结构 Cookies有以下几个属性 A.name:该Cookies的名称,一旦建立,该名称便不可更改 B.Value:该Cookies的值,若是值为Unicode字符,须要为字符编码;若是值为二进制数据,则须要使用BASE64编码 C.Domain:能够访问该Cookies的域名。 D.Max Age:该Cookies 失效的时间,单位为秒,也常和Expires一块儿使用,能够经过它计算其有效时间。Max Age若是为正数,则该Cookies在Max Age秒后失效。若是为负数,则关闭浏览器时Cookies及失效 E.Path:该Cookie的使用路径。若是设置为/path/,则只有路径为/path/的页面能够访问该Cookie。若是设置为/,则本域名下的全部页面都能访问Cookies F.Size字段:此Cookie的大小 G.HTTP字段:Cookie的httponly属性。此属性为true,则只有在Http头中会带有此Cookies信息。 H.Secure:该Cookies是否仅被使用安全协议传输。默认为false