第八章:http协议接口
HTTP协议信息头
常用请求头:
(凡是request中的请求头都是浏览器告诉服务器的信息,然后服务器对这些信息来进行验证。)
Accept :这个头表示,浏览器告诉服务器它所支持的数据类型。(并非是int char)
Accept-Charset:这个头表示,浏览器告诉服务器它采用的字符集(字符编码,比如utf-8)。
Accept-Encoding:这个头表示,浏览器告诉服务器它所支持的压缩格式。
Accept-Language:这个头表示,浏览器告诉服务器它所采用的语言。
Host:这个头表示,浏览器告诉服务器我想访问服务器哪台主机。
If-Modified-Since:这个头表示,浏览器告诉服务器它的缓存数据时间是多少。(比如登录一个网站,会显示几天之内免登录,保留登录信息)
Referer:这个头表示,浏览器告诉服务器我是从哪个网页过来的(防盗链:比如只能由某一个网页点击进入,直接输入网址可以判定非法,不允许进入)。
User-Agent:这个头表示,浏览器告诉服务器我所使用的浏览器类型、版本等信息
Date:这个头表示,浏览器告诉服务器我什么时间访问的。
Connection:keep-alive (长链接)
X-Requested-With:请求方式(同步或者异步)如:XMLHttpRequest阿贾克斯异步请求(Ajex),前端的技术框架。
常用响应头:(服务器告诉浏览器)
Location:这个头是服务器告诉浏览器你去找谁,配合302状态码使用(转发)。
Server:这个头告诉浏览器服务器的类型。
Content-Encoding:这个头告诉浏览器回送的数据采用的压缩格式。
Content-Type:这个头告诉浏览器回送给客户端的数据类型。
Last-Modified:这个头告诉浏览器数据的最后修改时间。
Refresh:这个头用于控制浏览器定时刷新。
Content-Disposition:这个头告诉浏览器需要以下载的方式打开回送的数据。
Transfer-Encoding:这个头告诉浏览器数据是以分块形式回送的
Cookie与Session的区别
在http的请求中才有Cookie,Cookie能表明用户身份。c和s都是基于服务端生成的,客户端用来记录,再发送到服务端,再进行验证。
区别:
1:cookie在客户端的头信息中。
session在服务端存储,文件、数据库都可以,有时候会采用缓存数据库来存储,比如说redis,里面有个机制叫过期时间key,到了过期时间就会自动删除数据。
2:一般来说session的验证需要cookie带一个字段来表示这个用户是哪一个session。
在服务端存储了很多session信息,客户端访问的时候要有个身份标识,把它存储在cookie中,cookie中由很多不同的字段组成,其中有个字段用于身份表示,用于服务端来验证身份。
3:一般来说session的验证需要cookie带一个字段来表示这个用户是哪一个session,所以当客户端禁用cookie时,session将失效。
Cookie的总结:
Cookie的信息是自定义的。都是由key-value来组成的,每个字段都有用。
Cookie就是一小段文本信息。
Cookie的格式为key:value;key:value。
Cookie 的值是由服务端生成,客户端保存。