HTTP协议超详解

本文详细介绍了HTTP协议,包括其主要特点:简捷迅速、无连接、无状态和媒体独立。讲解了HTTP的工作过程,客户端通过发送请求获取服务器的响应,请求包括GET和POST等方法。URL是资源定位符,请求包包含GET请求、请求头部等信息。服务器则通过状态码(如200、301等)和响应包反馈。此外,还讨论了持久连接的概念,解释了HTTP 1.1中的Keep-Alive机制。
摘要由CSDN通过智能技术生成

HTTP协议

超文本传输协定(英语:H yper T ext T ransfer P rotocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议[1]。HTTP是全球资讯网的数据通信的基础。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等),属于应用层的面向对象的协议,默认端口号 80,工作于客户端-服务端架构为上。

主要特点

  1. 简捷迅速
    客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

  2. 无连接
    无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

  3. 无状态
    无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

  4. 媒体独立
    这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

HTTP工作过程

HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应(比如"HTTP/1.1
200 OK"),响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

  • 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。

  • 当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取
    http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。

  • 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。
    浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。

  • 当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

请求方法

HTTP/1.1协议中共定义了八种方法(也叫“动作”)来以不同方式操作指定的资源:

1 GET        向指定的资源发出「显示」请求,可能会被网路爬虫等随意访问,URL提交参数以?分隔,多个参数用&连接,请求指定的页面信息,并返回实体主体
2 HEAD       与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部份。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中「关于该资源的信息」(元信息或称元资料)。
3 POST       向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会建立新的资源或修改现有资源,或二者皆有。每次提交,表单的数据被浏览器用编码到HTTP请求的body里。
4 PUT        向指定资源位置上传其最新内容。
5 DELETE     请求服务器删除Request-URI所标识的资源。
6 TRACE      回显服务器收到的请求,主要用于测试或诊断。
7 OPTIONS    这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用'*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。
8 CONNECT    HTTP/1.1协议中预留给能够将连接改为隧道方式的代理服务器。通常用于SSL加密伺服器的连结(经由非加密的HTTP代理伺服器)

URL概述

URL指的是统一资源定位符(Uniform Resource Locator)。URL无非就是一个给定的独特资源在Web上的地址。理论上说,每个有效的URL都指向一个独特的资源。这个资源可以是一个HTML页面,一个CSS文档,一幅图像,等等。而在实际中,有一些例外,最常见的情况就是URL指向了不存在的或是被移动过的资源。由于通过URL呈现的资源和URL本身由Web服务器处理࿰

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值