1.HTTP协议的主要特点:
无连接,无状态,简单快速,灵活
2.HTTP报文的组成部分:
HTTP报文包括:请求报文和响应报文
请求报文包括:请求行,请求头,空行,请求体
响应报文包括:状态行,响应头,空行,响应体
一.请求报文的内容:
1.请求行:请求方法 资源路径 协议
如:GET/Example 04?username=zhangsan&password=123 HTTP/1.1
2.请求头:Request Header,key:value的形式
需记住常见的http请求头:
Connection:keep-alive 客户端支持的连接方式:保持一段时间,默认
为3秒.
Cookie:JSESSION=369... 客户端把上一次服务器发过来的Cookie,
在请求中一起发给服务器端.
If-Modified-Since:只存在在第2次及以上请求中,值为Last-Modified,是
上一次客户端收到的服务器最后修改index.html文件的时间.
If-None-Match:只存在第2次及以上请求中,值为Etag,解决如果服务器端文件内容没有变化,就使用强缓存里的副本,是个类似于哈希的值。
3.空行
4.请求体/请求正文:
GET请求没有,POST请求有(包含客户提交的查询字符串信息,如uesrname=jinqiao&password=123)
二. 响应报文的内容:
1.响应行:协议 状态码 描述信息
如:HTTP/1.1 200 OK
2.HTTP 响应头的内容:
Content-Type:text/html
Expires:Thu,21 Jan 2017 23:39:02 GMT: Cache-Control:no-cache
Cache-Control:max-age=3600:客户端在最大过期时间内,都不会向服务器端发起请求。如果服务器两个时间都下发了,以Cache-Control的时间为准,规定
Last-Modified:第一次响应会发,是index.html文件的最后修改时间
ETag: “d3b0756geyg42sd3edec49eaa6238ad5ff00” 代表的是文档的版本/日期,必须使用双引号.
Set-Cookie:JSESSIONID=C97E2B4C55553EAB46079A4F263435A4; Path=/hello响应给客户端的Cookie.
Date:Sat,14 Jul 2018 05:17:37 响应的时间,会有8小时的时差
Server:Apache 服务器的版本信息
3.空行
4.响应体:服务器返回的数据:如一个index.html文件