HTTP协议(Hypertext Transfer Protocol,超文本传输协议),是一个客户端请求和回应的标准协议,这个协议详细规定了浏览器和万维网服务器之间相互通信的规则。用户输入地址和端口号之后就可以从服务器上取得所需要的网页信息。
通信规则规定了客户端发送给服务器的内容格式,也规定了服务发送给客户端的内容格式。客户端发送给服务器的内容格式叫“请求协议”;服务端发送给客户端的格式叫做“相应协议”。
·HTTP协议的主要特点
1)、支持客户/服务器模式。
2)、简单快速:客户向客户端请求服务时,只需传送请求方式和路径。请求方式常有的 有GET、POST。每种方法规定了客户与服务器联系的类型不同。由于http协议简单,使得http服务器的程序规模小,因而通信速度很快。
3)、灵活:http允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4)、HTTP1.1支持持续连接。通过这种连接,就有可能在建立一个TCP连接后,发送请求并获得回应,然后发送更多的请求并得到更多的回应。通过把建立和释放TCP连接的开销分摊到多个请求上,则对于每个请求而言,由于TCP而造成的相对开销被大大降低了。而且,还可以发送流水线请求,也就是说在发送请求1之后的回应到来之前就可以发送请求。 2、也可以认为,一次连接发送多个请求,有客户机确认是否关闭连接,而服务器会认为这些请求分别来自不同的客户端。
5)、无状态:http协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时,它的应答就较快。
·http之url
HTTP URL (URL 是一种特殊类型的 URI,包含了用于查找某个资源的足够的 信息)的格式 如下:
http://host[":"port][abs_path]
http 表示要通过 HTTP 协议来定位网络资源;host 表示合法的 Internet 主 机域名或 者 IP 地址;port 指定一个端口号,为空则使用缺省端口 80;abs_path 指定请求资源的 URI; 如果 URL 中没有给出 abs_path,那么当它作为请求 URI 时,必须以“/”的形式给出,通常 这个工作浏览器自动帮我们完成。
·http请求
http请求由三部分组成,分别是:请求行、请求头、请求正文
get请求:没有请求体
post请求:有POSTData
·http响应
在接受和解释请求消息后,服务器返回一个http响应消息。http响应也是由三个部分组成,分别是:状态行、消息报头、响应正文。
·消息头
http消息由客户端到服务端的请求和服务器到客户端的响应请求。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。
每个消息报头域都是由名字+":"+空格+值组成,消息报头域的名字是大小无关的。
·请求头
请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。
Refere:该请求头指明请求从哪里来
·响应头
响应报头允许服务器传递不能放在状态行中附加响应信息,以及关于服务器的信息和对request-URI所标识的资源进行下一步访问的信息
Location:Location 响应报头域用于重定向接受者到一个新的位置。Location 响应报头域,常用在更换域名的时候。response.sendRedirect(“http://www.baidu.com”);
Refresh:自动跳转(单位是秒),可以在页面通过 meta 标签实现,也可在 后台实现。