HTTP协议原理详解

本文深入解析HTTP协议,涵盖HTTP协议简介、URL、请求过程、协议特点和报文结构。介绍了HTTP的无状态性、无连接性及其解决办法,以及请求和响应报文的构成。同时,探讨了HTTP的GET与POST方法的区别,以及cookies和session的基本概念。
摘要由CSDN通过智能技术生成

1、HTTP协议简介

  HTTP(HyperText Transfer Protocol)协议,超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。它位于OSI五层协议体系结构中的最上层,属于应用层协议。它定义了应用进程减通信和交互的规则。

1、URL简介

  同一资源定位符URL用来表示从因特网上得到资源的位置和访问这些资源的方法。这里所说的资源是指因特网上能够被访问的任何对象,包括文件目录、文件、文档、图片等等。URL的的一般形式如下:
<协议>:// <主机>:<端口>/<路径>
这里的协议就是指出了用什么协议来获取万维网文档,可以是http协议,也可以是ftp协议。主机指出了需要访问的资源文档位于万维网上的哪个主机,就是域名。端口就是通过DNS服务器解析出来的ip定位到主机后需要指定的进程号,http默认端口为80端口。路径就喜欢ixuyao访问的资源在服务器中的路径位置。
  URI(同一资源标识符),它包含了URL,也就是说一个URL是一个URI,但是一个URI不一定是一个URL,URI中还有一个子集称为URN,它只命名资源而不定位资源。

3、HTTP请求过程

  HTTP协议定义了客户端怎样向万维网服务器发送请求以及服务器如何响应客户端的方式。从层次的角度上来讲,HTTP是面向事务的(transaction-oriented)应用层协议,它是万维网可靠交换文件的基础。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。我们来看看HTTP是怎样发送请求并接收文件的:
1、客户端请求连接到服务器: 每个万维网都有一个服务器进程,这个进程一直监听TCP的80端口,来发现是否有客户端向他发起请求。当发现有向他发起建立连接的请求,就建立起一个套接字TCP连接。
2、发送HTTP请求: 当建立起TCP连接后,客户端就通过套接字向服务器发送一个请求报文,这个报文包含了请求行、请求头、空行和请求数据4部分。
3、服务器接收请求并返回响应: 服务器首先解析客户端发送的报文然后定位到需要的资源,通过套接字将响应报文发送给客户端。同理一个响应也由状态行、响应头部、空行和响应数据4部分组成。
4、释放TCP连接: 如果请求头中connection字段为close则服务器立即关闭TCP连接,如果为keep-alive,则连接会持续一段时间后关闭。
5、客户端解析资源: 客户端会首先解析状态行,如果状态行成功,则解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。
  我们接下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值