要了解HTTP必然会涉及到HTML语言,所以我们先简单的了解下HTML语言。
1、超文本与URL
什么叫超文本(Hypertext)?
超文本是指该文档中除了基本的信息外,文档 中还可以有指信息集合中其他文档的指针。超文本概念提供了一种分布环境下组织数据和信息的机制。超文本更是一种用户介面范式,用以显示文本及与文本之间相关的内容。目前最常使用的是超文本标记语言(Hyper Text Markup Language,HTML)及富文本格式 (Rich Text Format,RTF)。
什么是URL( Uniform / Universal Resource Locator )?
URL,即统一资源定位符。是因特网上标准的资源的地址(Address)。
为什么会出现URL?
超文本的关键是指向其他文档的指针,而由于WWW是分布式的,并且指向其他不同类型的文件的指针式不同的,这样就给如何来准确的描述这些指针带来了困难。因此,这类指针必须标明所指向的文档的存储地点和文档名。其次,由于互联网上多样性的应用,指针应用采用哪种应用来获取所指向的文档,而且这种方法还应该满足扩展性,满足以后出现的新的应用。于是就出现了URL。
URL的格式:网络协议://计算机名:端口/文件名 (端口一般默认为80)
网络协议:访问文档所采取的协议名
计算机名:资源所在的计算机名
文件名:文件的路径和文件名
举例:http://www.baidu.com/index.html
网络协议:http 计算机名:www.baidu.com 文件名:index.html
2、HTML
什么是HTML(Hypertext Markup Language)?
超文本标记语言,是用于描述网页文档的一种标记语言.HTML是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如
何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。
HTML的特点:
1 、简易性,HTML版本升级采用超集方式,从而更加灵活方便。
2 、可扩展性,HTML语言的广泛应用带来了加强功能,增加标示符等要求,HTML采取子类元素的方式,为系统扩展带来保证。
3 、平台无关性。虽然PC机大行其道,但使用MAC等其他机器的大有人在,HTML可以使用在广泛的平台上,这也是WWW盛行的另一个原因。
3、HTTP协议(HypeText Transfer Protocol)
HTTP的定义:
http,即超文本传输协议,是web服务器用来处理服务器和客户机之间的数据流的协议。http是一个面向对象的协议。一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
HTTP协议的工作模式:
客户机的请求:
即用户通过浏览器等应用程序打开与服务器TCP连接的80端口(即http的默认端口,也有采用其他端口的http服务器),再次连接上发送相应的请求命令。
服务器的响应:
即服务器在接收到该请求后,对其作出相应的处理后将其处理结果以应答消息返回给客户端并关闭此次TCP连接,每一次请求/响应,就会启动一个连接,关闭一个连接。
HTTP协议的特点:
1、支持客户机与服务器模式。
2、简单快捷,客户机想服务器访问请求时,只需传送请求方法和路径。由于http协议简单,所以http服务器的程序规模都很小,因此,通信就相当的快。
3、灵活:http允许任意类型的数据的对象的传输。
4、无连接:即限制每次连接只处理一个请求,服务器收到请求,经过处理,作出响应后,马上就断开连接。
5、无状态:即协议对于事物的处理没有记忆能力。
HTTP的请求&应答:
请求消息的典型格式:
request-line (<method> URI <HTTP-version>)
headers
<blank line>
<body>
相应的解释:method是客户发送的具体请求方法
URI(Uniform Resource Identifer)是所请求的页面的同意资源标识
HTTP-Version是http协议的版本信息
headers构成请求消息的报文头,报文头和报文主体以空行隔开。
HTTP/1.0支持三个请求方法:
GET:返回请求行中RUI所指出的页面信息
HEAD:服务器只返回URI指定文档的首部信息。
POST:请求用来发送邮件,新闻,能交互的用户填写的表格等。唯一需要在请求中发送body的请求。
应答消息典型格式:
status-line (<HTTP-Version> response-code response-phrase)
headers
<blank line>
<body>
相应的解释: HTTP-Version是http协议的版本信息
response-code是一个状态的编码
response-phrase是一个原因短语
状态码 |
原因短语 |
信息(Informational)lxx |
|
成功(successful) |
|
200 |
正确(OK) |
201 |
创建(CREATED) |
202 |
接受(ACCEPTED) |
204 |
无内容(NO CONTENT) |
重定向(Redirection)3xx |
|
300 |
多种选择(Multiple Choices) |
301 |
永久移动(Moved Permanently) |
302 |
暂时移动(Moved Temporarily) |
304 |
未被修改(Not Modified) |
客户机错误(Client Error)4xx |
|
400 |
错误请求(Bad) |
401 |
未授权(Unauthorized) |
403 |
禁止(Forbidden) |
404 |
未发现(Not Found) |
服务器错误(Server Error)5xx |
|
500 |
内部服务器错误(Internal Server Error)
|
501 |
未实现(Not Implemented) |
502 |
错误网关(Bad GateWay) |
503 |
服务未提供(Service Unavailable) |
首部字段信息:
首部名称 |
含义 |
请求 |
应答 |
主体 |
Allow |
主体所允许方法 |
|
|
* |
Authorization |
客户授权信息 |
* |
|
|
Content-Encoding |
主体所用的编码 |
|
|
* |
Content-Length |
主体长度 |
|
|
* |
Content-Type |
主体的类型 |
|
|
* |
Date |
客户或服务器时间 |
* |
* |
|
Expires |
主体的有效期 |
|
|
* |
Form |
请求发送者的E-mail |
* |
|
|
If-Modified-Since |
某时间前网页是否更改 |
* |
|
|
Last-Modified |
最后更改时间 |
|
|
* |
Location |
请求重定向后的位置 |
|
* |
|
Pragma |
客户机或服务器的实现细节 |
* |
* |
|
Referer |
客户获取请求的URI的URI |
* |
|
|
Server |
服务器信息 |
|
*
|
|
User-Agent |
客户机信息 |
* |
|
|
WWW-Authenticate |
服务器要求授权信息 |
|
* |
|
Access Authenticate |
授权信息 |
* |
* |
|
一个首部字段:字段名: 字段值
可分为三类:1、应用于请求
2、应用于响应
3、描述主体
注意:有一些报文既可用于请求又可用于响应。
4、浏览器
服务器:重复的执行一个简单的任务,等待浏览器打开一个连接并且请求一个指定的网页,服务器发送被请求的项,关闭该连接,等待新连接。
浏览器:处理文档的细节并进行显示。
浏览器的组织结构图:
http协议就到此结束了,知识简单的介绍了下。
- 大小: 9 KB
- 大小: 19.6 KB
分享到:
相关推荐
实验选取了常见的HTTP协议作为研究对象,通过对HTTP协议的深入剖析,使学生能够掌握HTTP协议的基本原理、报文格式以及其工作流程。 #### 实验环境配置 - **操作系统**:Windows 7 - **网络平台**:实验室内部...
要认清HTTP协议的本质,我们需要从以下几个关键点入手: 1. 请求与响应模型:HTTP通信基于请求-响应模型。客户端发起一个HTTP请求到服务器,服务器处理请求并返回一个HTTP响应。请求由方法(如GET、POST)、URL、...
pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb通过http协议传json; pb...
HTTP协议和TCP协议pcap数据包下载,支持抓包软件(如:wireshark)打开并学习HTTP协议和TCP协议报文解析。需要其他协议,请查看我发布的其他资源。
HTTP协议的工作原理: 1. 请求过程:当用户在浏览器中输入URL并按下回车键时,浏览器作为客户端(Client)构造一个HTTP请求报文,包括方法(GET、POST等)、URL、协议版本、头部信息和请求主体(如果有的话)。然后...
在IT行业中,串口通信和HTTP协议是两个重要的领域,它们在各种硬件设备与网络服务之间建立起连接。本文将深入探讨如何将串口数据转换为HTTP协议数据,并将其发送到云端,以及源码软件的跨平台特性。 串口通信,也...
HTTP 协议详解 HTTP 协议是一种应用层面的、面向对象的协议,用于分布式超媒体信息系统。它于 1990 年提出,经过多年的发展和完善,目前在 WWW 中使用的是 HTTP/1.0 的第六版,HTTP/1.1 的规范化工作正在进行中。 ...
**HTTP协议详解** HTTP(Hypertext Transfer Protocol)超文本传输协议是互联网上应用最广泛的一种网络协议。它是用于从万维网服务器传输超文本到本地浏览器的传输协议,是Web应用的基础。HTTP协议定义了客户端...
1. **无状态**:HTTP协议自身不维护连接状态,每次请求和响应都是独立的,服务器不会记住之前请求的信息。为了实现状态保持,开发者通常会使用Cookie或Session。 2. **简单快速**:设计时主要考虑快速传输,对数据...
HTTP协议分析工具能够帮助我们深入理解HTTP通信过程,包括请求方法、状态码、头部信息、请求体和响应体等关键元素。 首先,让我们看看JavaScript。JavaScript是一种轻量级的解释性编程语言,常用于网页和网络应用...
本次实验是关于计算机网络原理的Wireshark工具使用,主要目标是对HTTP协议进行深入分析。实验过程中,我们使用Wireshark对电脑的WLAN端口进行抓包,观察并解析访问www.baidu.com网站时的网络通信过程。通过对HTTP...
HTTP协议详解 HTTP协议详解HTTP协议详解HTTP协议详解HTTP协议详解HTTP协议详解.pdf小巧,清晰,全面的PDF,值得收藏
HTTP协议详解电子书 HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它的设计目的是为了传输数据,并且使数据交换变得简单、高效。HTTP协议是基于TCP/IP通信协议来传输数据的,主要负责客户端...
【基于STM32F103单片机,配合HTTP协议上传数据到服务器】的知识点主要涵盖以下几个方面: 1. **STM32F103单片机**:STM32是意法半导体(STMicroelectronics)推出的一种基于ARM Cortex-M3内核的微控制器系列。STM32...
基于STM32f103 http协议历程
串口转HTTP协议发送数据工具源码是一种实用的软件解决方案,它允许用户将从串行端口(串口)接收到的数据转换为HTTP协议格式,然后发送到预设的云端HTTP服务器。这种工具在物联网(IoT)和嵌入式系统中特别有用,...
本文将深入探讨基于HTTP协议的自定义协议封装,特别是在使用XML作为数据载体时如何进行设计和实现。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它允许客户端(如浏览器)和服务器之间交换数据。...
本篇将基于提供的标题和描述,深入探讨HTTP协议的基本概念、主要特性以及RFC文档的相关知识。 首先,RFC(Request for Comments)是互联网工程任务组(IETF)发布的技术规范,用于记录和传播互联网相关的协议、标准...