HTTP协议学习
HTTP(HyperText Transfer Protocol),超文本传输协议。是世界上应用最广的一种网络协议。它是一种客户端浏览器或其他程序与Web服务器之间的应用层通信协议。它是一种无状态的协议,一次HTTP操作成为一个事务,客户机与服务器之间通过请求和相应完成一次回话。而在每次会话中,通信双方发送的数据就成为消息。
消息分为两种:
【请求消息】:
【响应消息】:
HTTP协议工作过程:
1、客户端与服务器端建立需要建立连接。(单击某个超链接) --->
2、建立连接后,客户端给服务器端发送一个请求。 --->
3、服务器端接收到请求后,给与响应的响应消息。 <----
4、客户端接收到服务器返回的消息后,给与显示到用户显示屏上,然后客户端断开与服务器断开连接。 ----->
HTTP协议结构:
HTTP报文(即消息)结构组成:
【请求行/状态行】
消息头【请求行/响应行】
消息体【请求体/响应体】
Host:www.brophp.com ->头部行(请求对象的主机)
Connection:close ->头部行(不适用持久连接)
User-agent:Mozilla/4.0 ->头部行(用户代理, 即当前请求浏览器的类型)
Date:Thu,13 Oct 2011 03:17:33 GMT ->头部行(服务器创建并发送响应消息的时间)
Server:Apache/2.2.9(Unix) ->头部行
Last-Nodified:Mon,22 Jun 2008 09:23:24 GMT ->头部行(对象本身的创建或最后修改时间 ,对高速缓存至关重要)
Content-Length:6821 ->头部行(发送对象的字节数)
HTTP(HyperText Transfer Protocol),超文本传输协议。是世界上应用最广的一种网络协议。它是一种客户端浏览器或其他程序与Web服务器之间的应用层通信协议。它是一种无状态的协议,一次HTTP操作成为一个事务,客户机与服务器之间通过请求和相应完成一次回话。而在每次会话中,通信双方发送的数据就成为消息。
消息分为两种:
【请求消息】:
【响应消息】:
HTTP协议工作过程:
1、客户端与服务器端建立需要建立连接。(单击某个超链接) --->
2、建立连接后,客户端给服务器端发送一个请求。 --->
3、服务器端接收到请求后,给与响应的响应消息。 <----
4、客户端接收到服务器返回的消息后,给与显示到用户显示屏上,然后客户端断开与服务器断开连接。 ----->
HTTP协议结构:
HTTP报文(即消息)结构组成:
【请求行/状态行】
消息头【请求行/响应行】
消息体【请求体/响应体】
请求消息:
一个典型的HTTP请求消息头部信息,
Host:www.brophp.com ->头部行(请求对象的主机)
Connection:close ->头部行(不适用持久连接)
User-agent:Mozilla/4.0 ->头部行(用户代理, 即当前请求浏览器的类型)
Accept-language:zh-cn ->头部行(语言版本)
响应消息:
HTTP/1.1 20 OK ->状态行
Connection:close ->头部行Date:Thu,13 Oct 2011 03:17:33 GMT ->头部行(服务器创建并发送响应消息的时间)
Server:Apache/2.2.9(Unix) ->头部行
Last-Nodified:Mon,22 Jun 2008 09:23:24 GMT ->头部行(对象本身的创建或最后修改时间 ,对高速缓存至关重要)
Content-Length:6821 ->头部行(发送对象的字节数)
Content-Type:text/html ->附属体(附属提对象的类型)
200 -> 成功
301 -> 永久移动
304 -> 无修改
400 -> 错误请求
404 -> 未找到
500 -> 内部错误
502 -> 错误网关
505 -> HTTP版本不支持