HTTP协议详解

一、网络层次:应用层、传输层、网络层、链路层、物理层。

TCP/IP基础--层次图

 

     从应用层至物理层,数据是一层层封装,封装的方式一般都是在原有数据的前面加一个数据控制头,数据封装格式如下:

 

TCP/IP基础--数据封装

 

  其中,对于TCP传输协议,客户端在于服务器建立连接前需要经过TCP三层握手,过程如下:

 

TCP/IP基础--TCP三次握手
 
二、HTTP协议
      超文本传输协议是应用层协议,自 1990 年起,HTTP 就已经被应用于 WWW 全球信息服务系统。
  HTTP 是一种请求/响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器;服务器接到请求后,给予相应的响应信息。
  HTTP 的第一版本 HTTP/0.9是一种简单的用于网络间原始数据传输的协议;
  HTTP/1.0由 RFC 1945 定义 ,在原 HTTP/0.9 的基础上,有了进一步的改进,允许消息以类 MIME 信息格式存 在,包括请求/响应范式中的已传输数据和修饰符等方面的信息;
  HTTP/1.1(RFC2616) 的要求更加严格以确保服务的可靠性,增强了在HTTP/1.0 没有充分考虑到分层代理服务器、高速缓冲存储器、持久连接需求或虚拟主机等方面的效能;
  安全增强版的 HTTP (即S-HTTP或HTTPS),则是HTTP协议与安全套接口层(SSL)的结合,使HTTP的协议数据在传输过程中更加安全。
协议结构:

 

HTTP协议--协议结构
 
状态码:
1xx:表明服务器接收了客户端请求,客户端继续发送请求。
2xx:客户端发送的请求被服务端成功接收并成功进行了处理。
3xx:服务端给客户端返回用于重定向的信息。
4xx:客户端的请求有非法内容。
5xx:服务端未能正常处理客户端的请求而出现意外错误。
例:
100:服务端希望客户端继续
200:服务端成功接收并处理了客户端的请求
301:客户端所请求的URL已经移走,需要客户端重定向到其他的URL
304:客户端所请求的URL未发生变化
400:客户端请求错误
403:客户端请求被服务端禁止
404:客户端请求的URL在服务端不存在
500:服务端在处理客户端请求时出现异常
501:服务端未实现客户端请求的方法或内容
502:此为中间代理返回给客户端的出错信息,表明服务端返回给代理时出错
503:服务端由于负载过高或其他错误而无法正常相应客户端请求
504:此为中间代理返回客户端的出错信息,表明代理连接服务端出现超时
 

转自:http://zsxxsz.iteye.com/blog/568250

posted @ 2013-05-22 11:15  jaky666  阅读(194)  评论(0编辑  收藏  举报