http协议学习
http协议请求报文:
请求行由请求方法、URL和HTTP协议版本3个字段组成,它们用空格分隔
请求头部:
Host:指定被请求资源的主机名。User-Agent:产生请求的浏览器类型
Referer:代表用户从哪个页面来的
Accept:用户声明客户端可处理的MIME类型
Accept-Encoding:用于声明客户端能够理解的内容编码方式。Accept-Language:用于声明客户端可以理解的自然语言
Cookie:一般存放着用户的身份凭证
响应头部:
状态行由HTTP协议版本、状态码和状态描述3个字段组成,它们用空格分隔
响应头部:
Date: 请求发送的时间和日期,GMT时间
Server:告诉客户端服务器的名称和版本号
Content-Type:响应正文的MIME类型
Content-Length:响应正文长度
Connection:告诉客户端响应完成后的连接状态
Content-Encoding:web服务器告诉浏览器使用了那种压缩方法
Last-Modified:实体报头域用于指示资源的最后修改日期和时间
HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT
除了http协议之外还有一个ssl的https协议,https比较安全,有加密
由于HTTP协议是无连接无状态的(比如说一刷新就要重新登录),所以HTTP协议无法记住客户端的信息。为了弥补HTTP协议这两点的“不足”,所以出现了会话技术。一个是Cookie,而另一个则是Session,Cookie用的比较多
Cookie是由服务器端生成,服务器将数据通过HTTP响应存储到浏览器上,这就是Cookie。浏览器可以在以后携带对应的COOKIE数据访问服务器
Session与浏览器无关,但是与Cookie有关。Session是以Cookie为基础,将重要的数据保存在服务器端,同时将能够唯一表示这份数据的数据以cookie的形式保存在客户端
怎么理解这一句话,够唯一表示这份数据的数据以cookie的形式保存在客户端?
1.客户端第一次请求时,服务器会在指定目录里创建名字为session_id的文件,然后把session_id的名字以cookie的方式发送给客户端
2.当客户端再次请求时,服务器会检查客户端cookie中的session_id是什么,到指定目录里找有没有以session_id为名的文件,如果有,就不用登录了,如果没有就需要进行登录。