1.http1.1协议 主要是增加了持久连接的技术,浏览器访问一个web页面时,会根据返回的html页面解析,如果遇到比如img,css或者js文件时,它会发起后续的http请求去获取资源,每一次都会有tcp的建立和关闭,很消耗性能。
来自http://blog.csdn.net/zhangxiaoxiang/article/details/765082。
所以http1.1提出了持久化连接的概念,只需要建立一次连接,就可以进行多次的http交互。
2.网关和代理
代理用于转发请求给真正的服务器,代理本身不会完成请求,代理也不会改变url。为什么需要代理?一个原因是希望在代理服务器上缓存一些资源,这样后续的请求直接可以从代理服务器的缓存返回。另一个作用是修改一下报文的结构,实现转发。代理只能http协议,而网关可以跨协议。
3.http方法
get:请求资源
post:传输信息
put:上传
delete:删除资源
head:只返回报文的首部
options:返回支持的方法
4.http报文结构
http的报文分为首部和主体两部分。首部又分为4种类型:请求首部,响应首部,通用首部和实体首部
一个http请求的首部包含请求首部,通用首部和实体首部,一个http响应的首部包含响应首部,通用首部和实体首部。
http通用首部:也就是响应和请求中都会用到的属性。
主要有以下几种:
cache-control,主要用于控制资源是否在代理服务器缓存。
connection,主要有两个作用,一个是控制代理不再转发的字段,另一个是控制持久化连接,比如connection:close,connection:keep-alive
keep-alive,持久化连接多久
date:http报文的时间
via:记录代理服务器,可以通过这个via查询到转发的历史
http请求首部:主要是客户端的要求,或者支持的内容
accept,接受的类型,有图片,文字等等。
accept-charset
accept-encoding
accept-language
host,这个是区分同一个服务器上的不同的域名的,服务器只有一个ip,那么可能会布置两个项目,需要使用host来区别,别和端口号混了。
user-agent,浏览器
http响应首部,主要是服务器返回的内容
age:服务端在多久前创建了相应
location:重定向
re-try:重试时间
server:服务器的类型,apache tomcat等
http:实体首部,与http报文的主题有关
主要包括了相应主体的编码,语言,大小等信息
与cookie相关,set-cookie在响应首部,cookie在请求首部