超文本传送协议HTTP

来源:互联网 发布:hydra软件下载 编辑:程序博客网 时间:2024/06/05 07:29

HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

HTTP的操作过程


HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠性。HTTP协议和服务器建立TCP连接,需要使用三报文握手。当建立TCP连接的三报文握手的前两部分完成后,万维网客户就把HTTP请求报文,作为建立TCP连接的三报文握手中第三个报文的数据,发送给万维网服务器。如下图:

请求一个万维网文档所需的时间

代理服务器


代理服务器(proxy server)是一种网络实体,又称万维网高速缓存(web cache)。代理服务器把最近的一些请求和响应暂存在本地磁盘中,当新请求到达时,若代理服务器发现这个请求与暂存的请求相同时,就返回暂存的响应,而不需要按URL的地址再次去互联网访问该资源。

这里写图片描述

代理服务器有时是作为服务器(当接受浏览器的HTTP请求时),但有时作为客户(当向互联网上的源点服务器发送HTTP请求时)。

HTTP的报文结构


HTTP报文分请求报文响应报文,两种报文的区别是开始行不同,它们由三个部分组成。
1)开始行,用于区别是请求报文还是响应报文。请求报文中的开始行叫做请求行,响应报文中的开始行叫做状态行
2)首部行,用来说明浏览器、服务器、报文主体的一些信息。
3)实体主体,在请求报文中一般都不用这个字段,而在响应报文中也可能没有这个字段。

请求行与状态行

1)请求行包括方法、请求资源URL、以及HTTP版本,常用的几种方法如下:
这里写图片描述
完整的请求行格式如下:
GET http://www.xyz.edu.cn/dir/index.html HTTP/1.1
2)状态行包括HTTP版本、状态码、以及解释状态码的简单短语。
  5大类状态码:
  1xx 表示通知信息
  2xx 表示成功,如接受或知道了
  3xx 表示重定向
  4xx 表示客户端的差错
  5xx 表示服务器的差错

原创粉丝点击