http协议

HTTP/1.0和HTTP/1.1的区别:1.0获取到一个web资源就断开连接,而1.1可以获取多个web资源。

一个完整的HTTP请求包含内容:(一个请求行、若干个请求头、实体内容{也称为请求体})

请求行(描述客户端的请求方式、请求的资源名称、使用的http协议的版本号):

请求方式:post、get、head、options、delete、trace、put

get请求方式:可以在请求的URL地址后面以?的形式带上提交给服务器的数据,多个数据之间以&进行
分隔;

特点:在URL后携带的请求参数是有限制的,数据容量通常不能超过1k。

注意:默认的请求方式是get请求。

post请求方式:可以在请求体中向服务器发送数据

特点:传输的数据无限制。

请求头(用于描述客户端请求哪台主机,以及客户端的一些环境信息):

accept:用于告诉服务器,客户机支持的数据类型

accept-charset:用于告诉服务器,客户机支持采用的编码

accept-encoding:用于告诉服务器,客户机支持的数据压缩格式

accept-language:客户机的语言环境(和国际化相关)

host:客户机通过这个头告诉服务器,想访问的主机名

if-modified-since:客户机通过这个头告诉服务器,资源的缓存时间

referer:客户机通过这个头告诉服务器,他是从哪个资源来访问服务器的(可以用来做防盗链接)

user-agent:客户机通过这个头告诉服务器,客户机的软件环境(操作系统、内核、浏览器等等)

cookie:客户机通过这个头可以向服务器带数据

connection:请求完链接之后是断开连接还是保持连接

date:当前的时间值

HTTP响应:

一个HTTP响应代表服务器向客户端回送的数据,它包括:
一个状态行、若干个消息头、实体内容

状态行(用来描述服务器对请求的处理结果)
内容包括:http协议及其版本、状态码
常用的状态码:

100-199(表示成功接收,等待用户的下一次请求,完成处理过程)

200(请求处理完成)

302(请求重定向) 307/304(拿缓存)

404(客户端请求有误,服务器没有该资源)

403(没有访问权限,服务器拒绝提供资源)

500(服务器端出现错误,程序出现问题)

响应头:

location:这个头配合302状态码使用,用于告诉客户找谁

server:服务器通过这个头,告诉浏览器服务器的类型

content-encoding:“gzip”服务器通过这个头,告诉浏览器数据的压缩格式

content-length:服务器通过这个头,告诉浏览器回送数据的长度

content-language:回送的语言环境

content-type:服务器通过这个头,告诉浏览器回送数据的类型(不同的头可在tomcat/conf/web.xml中查询)

last-modified:服务器通过这个头,告诉浏览器当前资源的缓存时间

refresh:服务器通过这个头,告诉浏览器隔多长时间刷新一次,可指定刷新的页面

content-disposition:服务器通过这个头,告诉浏览器以下载的方式打开数据

transfer-encoding:服务器通过这个头,告诉浏览器数据的传输格式

etag:缓存相关的头(判断前后的etag是否相等,决定是否要用缓存页面)

expires:服务器通过这个头,告诉浏览器把回送的数据资源的缓存时间;-1或0 则不缓存

cache-control/program:服务器通过这两个头,告诉浏览器不要缓存数据(no-cache);注意:实时性要求高的一般不缓存

connection:响应完链接之后是断开连接还是保持连接

date:当前的时间值

----\(˙<>˙)/----赞赏一下吧~