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协议也能传输非文本数据了.
HTTP工作流程
首先客户端向服务端发送一个请求报文,请求报文包括请求的方法、URL、协议版本、请求头部和请求数据,然后服务器响应,响应过程为:1.建立连接、2接受请求、3.处理请求、4.访问资源、5.构建响应、6发送响应、7.记录日志.响应内容包括协议版本、成功或错误代码、服务器信息、响应头部和响应数据.
例如我这里请求淘宝的首页www.taobao.com
HTTP常用的请求方法有:
1.GET 就是请求服务器上面的某一个资源
2.POST 向服务器提交数据,我们常用的登录、注册功能就是用此方法实现
3.HEAD 跟GET一样都是请求服务器上面的某一资源,HEAD通常被用来判断资源是否存在
HTTP有五类状态码
1系列状态码:纯信息
2系列:成功类 如图上面的200
3系列:重定向类的信息如 301 302 304
4系列:客户端错误类信息 404
5系列:服务器端错误类信息 501 503