http协议讲解

来源:互联网 发布:注册淘宝账号的步骤 编辑:程序博客网 时间:2024/06/13 10:35

1.请求方法(所有方法全为大写)有多种,各个方法的解释如下:

GET    请求获取Request-URI所标识的资源

POST   在Request-URI所标识的资源后附加新的数据

HEAD   请求获取由Request-URI所标识的资源的响应消息报头

PUT    请求服务器存储一个资源,并用Request-URI作为其标识

DELETE 请求服务器删除Request-URI所标识的资源

TRACE  请求服务器回送收到的请求信息,主要用于测试或诊断

CONNECT 保留将来使用

OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

 

2.状态码

状态码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求

常见状态代码、状态描述、说明:

200 OK     //客户端请求成功

400 Bad Request  //客户端请求有语法错误,不能被服务器所理解

401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

403 Forbidden  //服务器收到请求,但是拒绝提供服务

404 Not Found  //请求资源不存在,eg:输入了错误的URL

500 Internal Server Error//服务器发生不可预期的错误

503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

 

3、消息头

3.1请求消息头

Accept:*/*(客户机可接受的相应内容格式,即浏览器可接受的MIME类型,这里是全部格式,eg:html,txt…)

Accept-Encoding:gzip,deflate,sdch(接受响应可以的压缩格式,一般为gzip格式)

Accept-Language:zh-CN,zh;q=0.8(浏览器接受语言)

Cache-Control:max-age=0

Connection:keep-alive

Host:s2.qhimg.com(发送此响应过来的主机名称)

If-Modified-Since:Tue, 07 Apr 2015 17:01:03GMT(本地缓存此响应内容的具体时间)

If-None-Match:"55240d4f-28b4"

Referer:http://www.haosou.com/s?psid=2cc7eaa328d(防盗链接,指定从此url链接才能访问)

User-Agent:Mozilla/5.0 (Windows NT 6.1)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36

Response Headersview source

 

3.2响应消息头

HTTP/1.1 200 OK                                             //请求成功

Server: Microsoft-IIS/5.0                                  //web服务器

Date: Thu,08 Mar 200707:17:51 GMT

Connection: Keep-Alive                                 

Content-Length: 23330

Content-Type: text/html

Expries: Thu,08 Mar 2007 07:16:51 GMT(缓存相关,可精确到秒级以下)

Set-Cookie:ASPSESSIONIDQAQBQQQB=BEJCDGKADEDJKLKKAJEOIMMH; path=/

Cache-control: private


http协议   对应于应用层  

tcp协议    对应于传输层   

ip协议     对应于网络层 

TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据

我们在传输数据时,可以只使用传输层(TCP/IP),但是那样的话,由于没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用应用层协议,应用层协议很多,有HTTP、FTP、TELNET等等,也可以自己定义应用层协议。WEB使用HTTP作传输层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发送到网络上。

Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。

FTP协议的传输方式

       1,ASCII传输方式

      如果在远程机器上运行的不是UNIX,当文件传输时FTP通常会自动调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。

 但是常常有这样的情况,用户正在传的文件包含的不是文本文件,他们可能是程序、数据库、字处理文件或者压缩文件等,在复制之前,应该用binary命令高数FTP逐字复制,不要对这些文件进行处理,这也就是它的另一种传输方式,二进制传输。

       2,二进制传输

       在二进制传输中,数据中保存文件的位序,这样原始的数据和复制的数据书逐位一一对应,而对数据内容本身不进行判断。在大多数计算机上,ASCII方式一般假设每一位字符的第一有效位无意义,因为ASCII字符组合不使用它。如果传输二进制文件,所有的位都是重要的!假如你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。


0 0
原创粉丝点击