2016-3-18 记录

https://www.zybuluo.com/yangfch3/note/167490

HTTP协议

  1. 规定了客户端与服务端的交互规则
  2. 无状态:客户的每次请求对服务器来说都是无关的,服务器不能确定请求是否来自同个客户端

URL详解

示例


http://www.mywebsite.com/sj/test;id=8079?name=sviergn&x=true#stuff
Schema: http
host: www.mywebsite.com
path: /sj/test
URL params: id=8079
Query String: name=sviergn&x=true
Anchor: stuff

  1. 浏览器就是依靠Content-Type来判断响应的内容
  2. 为了清缓存,ctrl+f5和直接清除浏览数据,有什么区别么?
  3. cookie占用客户端资源,可能被盗,与当前浏览器同生命周期
HTTP request header:
  1. cache缓存
  • If-Modified-Since:
  • If-None-Match: 用于判断是否使用缓存文件 ,可以提高网站性能,与response headerETag配合使用
  1. client头域(Accept)
    • Accept-content: 浏览器接受的文件类型
    • Accept-Encoding: 浏览器声明接收的编码格式
    • Accept-language: 浏览器声明自己接受的语言
    • user-Agent: 浏览器种类
  2. cookie
  3. Referer:告诉服务器这个页面是从哪个链接过来的
  4. transport
  • connction: keep-alive的话,tcp连接不断开
  • host:域名和端口号,从url中截取
HTTP Response header
  1. cache:缓存
  • Date:生成消息的时间
  • expires: 声明使用缓存的过期时间
  1. cookie:
  • p3p:用于跨域传送cookie
  • set-cookie: request发送一个cookie,repsponse就会有一个set-cookie
  1. entity(实体):
  • ETag: 判断缓存文件的处理
  • content-*: 类比requestAccept,声明返回的信息
  1. transport:与request类似
  2. location: 用于重定向一个url

你可能感兴趣的:(2016-3-18 记录)