HTTP基础知识(一)

转载forcht

HTTP协议和TCP/IP协议族内的其他众多协议相同,用于客户端和服务器之间的通信。(TCP/IP是互联网相关的各类协议族的总类。)

HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会自动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

由于HTTP在每次请求结束后都会自动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的做法是即使不需要任何数据,客户端也要保持每隔一段固定时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。

HTTP协议规定,请求从客户端发出,最后服务端响应请求并返回。也就是说肯定从客户端开始建立通信,服务端在没有接受到请求之前不会发送响应。

请求报文是由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成的。

HTTP请求方法:

GET:获取资源,GET方法用来请求访问已被URI识别的资源。GET没有副作用,如果失败完全可以重复执行GET,而不用担心有任何的问题。指定的资源经服务器端解析后返回响应内容。也就是说,如果请求的是文本,那就原样返回,如果是像CGI那样的程序,则返回经执行过后的输出结果。

POST:用来传输实体的主体。虽然GET方法也可以传输实体的主体,但一般不用GET方法进行传输。而是用POST。

PUT:PUT方法用来传输文件,就像FTP协议的文件上传一样,要求在请求报文的主体中包含文件的内容,然后保存在请求URI指定的内容。

DELETE:DELETE方法用来删除文件,是与PUT相反的方法,按请求URI删除指定资源。

HEAD:与GET方法一样,只是不返回报文主体部分,用于确认URI的有效性以及资源更新的日期时间等。

OPTIONS:询问支持的方法,OPTIONS方法用来查询针对请求URI指定资源支持的方法。

TRACE:跟踪路径,TRACE方法让WEB服务器端将之前的请求通信返回给客户端。

在发送请求时,在Max-Forwards首部字段中填入数值,没经过一个服务器端就会将该数字减一,当数值刚好减到0时,就停止传输,最后接受到请求的服务器端则返回状态码200 OK的响应。

CONNECT:要求用隧道协议连接代理,CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL和TLS协议将通信内容加密之后经网络隧道传输。

CONNECT方法格式:CONNECT 代理服务器:端口号 HTTP版本

HTTP报文:用于HTTP协议交互的信息被称为HTTP报文。请求段的HTTP报文叫做请求报文,响应段的叫做响应报文。HTTP报文是由多行数据构成的字符串文本。

HTTP报文可分为报文首部和报文主体两部分,通过空行(CR+LF)来划分。通常并不一定要有报文主体。

实体:作为请求或相应的有效载荷数据被传输,其内容有实体首部和实体主体组成。通常报文主体等于实体主体。只要当传输中进行编码操作时,实体主体的内容发生变化,才导致它和报文主体产生差异。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值