HTTP简介

  HTTP(HyperText Transfer Protocol)叫超文本传输协议,那么什么是超文本?简单来说超文本就是带有超链接的文本.据说web设计之初它就实现了用超链接实现了文档之间的跳转这个功能.最早的http版本是http0.9,它仅支持纯文本,定义了最简单的请求和响应.

  HTTP只是一种协议,有了协议得为它做实现这就有了HTML、web服务器、浏览器。HTML是一种超文本标记语言,简单来说就是专门用来开发超文本的编程语言.web服务器是为web客户端(浏览器)提供超文件的服务端程序.

  HTTP升级到1.0之后作出了巨大的改进,其中最重要的是引入了一种叫MIME(多功能互联网邮件拓展)的机制.早期的SMTP(Simple Mail Transmission Protocol)也只能传输文本文件,为了能够使其他格式的文件能在邮件中传送MIME就诞生了,MIME具体的实现方式是把非文本文件在传输过程中重新编码成文本文件的格式,接收方在收到之后用相反的方法还原回来,还能调用相应的程序来打开文件.后面将这种机制引入到HTTP当中,这样HTTP协议也能传输非文本数据了.

  目前使用最广泛的是HTTP1.1也就是HTTP协议的第三个版本,1.1跟1.0的主要区别在于1.1这个版本支持部分内容的请求/响应.也就是说客户端请求的内容很大时可以每次只要求获取一部分,服务器也可以分多次响应每次响应一部分,使得流媒体得以实现.还增加了长连接的机制.客户端请求一个页面,一个页面上面往往有多个资源,每请求一个资源都要经历三次握手四次断开的过程.长连接就是客户端请求一个资源完成后连接不断开等待获取下一个资源,省去了频繁的三次握手四次断开的过程,节省了服务器资源,提升了访问速度.

HTTP工作流程

 首先客户端向服务端发送一个请求报文,请求报文包括请求的方法、URL、协议版本、请求头部和请求数据,然后服务器响应,响应过程为:1.建立连接、2接受请求、3.处理请求、4.访问资源、5.构建响应、6发送响应、7.记录日志.响应内容包括协议版本、成功或错误代码、服务器信息、响应头部和响应数据.

例如我这里请求淘宝的首页www.taobao.com

 http协议简介及web服务原理_http简介




 HTTP常用的请求方法有:

   1.GET 就是请求服务器上面的某一个资源

   2.POST 向服务器提交数据,我们常用的登录、注册功能就是用此方法实现

   3.HEAD 跟GET一样都是请求服务器上面的某一资源,HEAD通常被用来判断资源是否存在


 HTTP有五类状态码

  1系列状态码:纯信息

  2系列:成功类 如图上面的200

  3系列:重定向类的信息如 301 302  304

  4系列:客户端错误类信息 404

  5系列:服务器端错误类信息 501 503