HTTP协议

一:HTTP协议

HTTP协议:超文本传输协议.  主要用于传输文本信息. 


二:HTTP协议的版本

   http0.9 :只有基本的文本 GET 功能。

   http1.0 : 引入MIME 完善的请求/响应模型,并将协议补充完整。

   http1.1 :在 1.0 基础上进行更新,增加了如 长久连接 keep-alive 与 chunked 等功能。


三:HTTP协议请求的方法有哪些

   GET:  获取数据

   HEAD: 响应首部

   POST: 基于html表单向服务器提交数据.  服务器通常需要存储数据.

   PUT : 向服务器发送资源.通常是文件.不是数据.

   DELETE: 删除资源. 

   OPTION: 探测服务器对请求的URL所支持使用的请求方法.

   TRACE:  跟一次请求中间所经过的代理.


四:HTTP响应的状态码

   1**   :信息性状态码

   2**   :成功状态码

   3**   :重定向状态码.

      301:永久重定向, 302:临时重定向, 会在响应报文中使用location

      304:没有做任何修改

   4**   :客户端错误   404:请求错误. 403:没有权限. 405:使用的方法不被允许.

   5**   :服务器端错误.500 :服务器内部错误.  502:错误网关. 503:服务不可用.


五:HTTP协议首部

wKiom1WKu5qAm25LAAQKcXR7QN4033.jpg

   1)request: 请求协议首部

       

client-IP
HOST: 请求主机
referer:指明了请求当前资源的原始资源的URL
user-agent: 用户代理
accept:能够接受的字符集. 服务端能够发送的媒体类型.
accept-charset:
accept-encoding:  压缩方式
accept-language:  请求的语言
cookie:跟安全相关请求.

  

   2)response: 响应协议首部

age:资源可以缓存的时长
server:向客户说明自己的程序名称和版本.
协商类
 vary:首部列表  服务器会挑选一个最适宜的版本发送给客户端.
安全相关
 WWW-authentication:
 set-cookie


   3)通用首部

 

connecttion : 定义C/S之间关于请求,响应的有关选项.
cache-control: 缓存控制.

   4)实体首部

 

location: 资源的新位置.
   allow:允许对此资源使用的请求方法.
内容相关
   content-encoding.压缩
   content-language:
   content-length
   content-location
   content-type
缓存相关

六:HTTP协议的一些特性

  http是无状态,任何资源都要进行三次握手四次断开, 不能对用户进行认证.为了避免每次访问一个页面都要登录,出现了cookie技术 记录用户账号和密码.但这种方法不安全.set-cookie. 为了减少每次连接都要进行三次握手,四次断开出现了keep-alive技术


七:一次HTTP事务过程 (站在服务器角度)

 

      1)建立连接
      2)接受请求
      3)处理请求
      4)访问资源
      5)构建响应
      6)发送响应
      7)记录日志   (一次I/O 操作,用异步写入方式,先写入到内存中,隔一段时间在写入到磁盘中)


你可能感兴趣的:(http)