HTTP协议
来源:互联网 发布:java 工作流引擎有哪些 编辑:程序博客网 时间:2024/06/18 04:08
一、简介
HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
HTTP协议是以请求/响应为模型为基础的一个协议,并且永远都是客户端先发起请求,服务器回头响应。这样就限制了HTTP协议的使用,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。如下图:
二、特点
1、支持B/S模式及C/S模式。
2、简单快捷:客户端向服务器请求服务时,只需传送请求方法和路径。并且每种请求方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,所以HTTP服务器的程序规模小,因而通信速度很快。
3、灵活:HTTP允许传输任意类型的数据对象,正在传输的类型由Content-Type来标记。
4、无连接:无连接的含义是指限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,服务器会主动断开连接。
5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面 的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
三、工作流程
一次HTTP操作称为一个事务,其工作流程可以分为四步:
(1)、首先客户端需要连接到服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。
(2)、建立连接后,客户端发送一个HTTP请求给服务器
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部 分组成 。
(3)、服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源,服务器将资源副本写到TCP套接字,由客户端读取,一个响应由状态行、响应头部、 空行和请求数据4部分组成。
(4)、释放TCP连接
服务器主动关闭TCP套接字,释放TCP连接 ; 客户端被动关闭TCP套接字,释放TCP连接。
四、HTTP之请求与响应
1、Request
客户端发送一个HTTP请求到服务器的请求消息包括:请求行、请求头部、空行和请求数据。
2、Response
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
- HTTP协议
- http协议
- HTTP协议
- HTTP协议
- HTTP协议
- http协议
- HTTP协议
- HTTP协议
- HTTP协议。。。
- HTTP协议
- HTTP协议
- HTTP协议
- HTTP协议
- HTTP协议
- http协议
- HTTP协议
- http协议
- HTTP协议
- 值得每天看一遍的经典代码片段
- 《TCP/IP详解 卷1:协议》 读书笔记 第21章 TCP的超时与重传
- ubuntu中ssh-server的安装与开机启动
- 组合框QComboBox的定制
- C++实验题---填空(运算符重载A)
- HTTP协议
- FZU2218 Simple String Problem--状压dp
- wstring写文件
- 事务控制语言(DTL)
- 用==0判断偶数不用!=1判断偶数
- 360漏洞修复卡在正在安装的解决方法
- Java多线程系列--“JUC线程池”01之 线程池架构
- 树莓派实现自己的Qt HTTPserver
- Python爬虫实例——基于BeautifulSoup和requests实现