HTTP协议

本文详细阐述了HTTP协议的基本特点,包括简单快速、灵活、无连接和无记忆状态,并介绍了TCP协议如何通过三次握手建立可靠的连接。此外,文章对比了TCP与UDP的区别,解释了它们在网络应用中的不同作用。最后,概述了HTTP请求和应答的结构,以及常见的HTTP状态代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTTP协议(HyperTextTransfer Protocol, 超文本传输协议) 是一个属于应用层的面向对象的协议

主要特点:

l  简单快速

l  灵活。可传输任意类型的数据对象

l  无连接。每次连接只处理一次请求,服务器处理完成客户请求后并受到客户的应答后立即断开连接。

l  无记忆状态。协议不保留当前事务处理的信息。

 

TCP连接

手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。

 

建立起一个TCP连接需要经过“三次握手”:

第一次握手:客户端发送syn包(syn=j,syn:)到服务器,并进入SYN_SEND状态,等待服务器确认;(syn: TCP/IP建立连接时使用的握手信号)

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

 

握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。

 

TCP和UDP区别:

 

TCP(Transmission Control Protocol,传输控制协议)

UDP(User Data Protocol,用户数据报协议)

是否连接

面向连接

面向非连接

传输可靠性

可靠

不可靠

应用场合

输大量数据

少量数据

速度

 

Http请求

  Http请求由三部分组成,分别是:方法-URL-协议/版本号、请求头、请求正文。

  八种请求方法:

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

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

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

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

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

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

  CONNECT保留将来使用

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

Http应答

Http应答:协议-状态代码-描述、应答头、应答正文。

Reason-Phrase状态码:

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

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

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

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

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

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

Ø  200OK          //客户端请求成功

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

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

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

Ø  404Not Found    //请求资源不存在

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

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

 

工具:HttpWattch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值