【HTTP】HTTP权威指南

HTTP概述

Web客户端和服务器

web客户端:最常见的web客户端就是web浏览器,如微软的Internet Explorer,网景的Navigator。
web服务器:指的就是一台安装了特定软件的公共计算机,专门用于提供特定的服务,按照服务类型的不同,又分为web服务器、数据库服务器、文件服务器等。

资源

资源:一般指web服务器文件系统的静态文件,也可以是程序动态生成的文件。
媒体类型(MIME type):为了解决在不同的电子邮件系统之间搬迁报文时存在的问题。

MIME:Multipurpose Internet Mail Extension 多用途因特网邮件扩展。
Web服务器会为所有HTTP对象数据附加一个MIME类型,当Web浏览器从服务器获取到一个对象时,
会自动查看相关的MIME类型。
MIME类型是一种文本标记,表示一种主要的类型对象和一个特定的子类型,中间由一条斜杆来分割。
说明                   标记类型
---------------------------------
HTML格式的文本文档      text/html
普通的ASCII文本文档     text/plain
JPEG图片              image/jpeg
GIF图片               image/gif
Apple的QuickTiem电影  video/quicktime

URI(Uniform Resource Identifier): 统一资源标识符,在世界范围内唯一标识定位信息资源。
URL:URL表示统一资源定位符,是URI的常见形式。

URL遵循的标准格式
协议类型    服务器域名        服务器资源
http://    www.baidu.com   /index.html

URN:URN是统一资源名,URL作为特定内容的唯一名称使用的,与目前的资源所在地无关,使用这些与位置无关的URN,就可以将资源四处搬移。

事务

HTTP事务:一个HTTP事务由一条请求命令(web客户端发往web服务器)和一个响应结果(从服务器发回web客户端)组成,这种通信是通过HTTP报文(HTTP message)的格式化数据块进行的。

方法:HTTP支持几种不同的请求命令,这些命令被称为HTTP方法(HTTP method)。
状态码:每条HTTP报文响应是都会携带一个状态码,状态码是一个三位数数字,告知客户端请求是否成功,或者是否需要采取其他动作。
web页面可包含多个对象:应用程序完成一项任务是通常会发布多个HTTP事务。浏览器会执行一个事务来获取描述页面的HTML“框架”,然后发布另外的HTTP事务来获取嵌入式图片,图像面板,程序文件等。这些资源可能位于不同的服务器上。一个Web页面通常不是单个资源,而是一组资源的集合。

报文

HTTP报文:由一行行的字符串组成,都是纯文本,不是二进制代码。HTTP报文包含三个部分,起始行,首部字段,主体。

HTTP报文
	请求报文
	响应报文

连接

TCP/IP
HTTP协议:是应用层协议,是基于因特网传输协议TCP/IP的。
TCP协议

TCP协议特点
	1基于流的方式;
	2.面向连接;
	3.可靠通信方式;
	4.在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销;
	5.通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点;

连接,IP地址和端口

浏览器连接处理过程
	1.浏览器从URL中解析出服务器的主机名;
	2.浏览器将服务器的主机名转换成服务器的IP地址;
	3.浏览器将端口号(如果有的话)从URL中解析出来;
	4.浏览器建立一条与Web服务器的TCP连接;
	5.浏览器向服务器发送一条HTTP 请求报文;
	6.服务器向浏览器回送一条HTTP响应报文;
	7.关闭连接,浏览器显示文档;
IP地址和端口
[1] 直接使用机器IP地址
	http://207.200.83.29:80/index.html
[2] 使用域名加端口
	http://www.netscape.com:80/index.html
[3] 仅使用域名省略端口(默认端口为80)
	http://www.netscape.com/index.html

使用Telnet实例
Telnet与Web服务器:可以通过Telnet程序与Web服务器进行会话,实现Telnet与Web服务器进行交互。

Telnet与Web服务器交互的过程
	1.找到域名所对应的IP
	2.打开80端口
	3.建立与Web服务器的TCP连接
	4.进行HTTP事务

协议版本

HTTP/0.9
HTTP/1.0
HTTP/1.0+
HTTP/1.1
HTTP/2.0

Web的结构组件

Web的结构组件
	代理:位于客户端和服务器之间的HTTP中间实体。
	缓存:HTTP仓库,是常用页面的副本可以保存在离客户端更近的地方。
	网关:连接其他应用程序的的特殊Web服务器。
	隧道:对HTTP通信报文进行盲转发的的特殊代理。
	Agent代理:发起自动HTTP请求的半智能Web客户端。

URL与资源

浏览因特网资源

URL分为三部分: <scheme>://<主机>/<路径>
	第一部分是URL方案(scheme),方案可以告知Web客户端怎样访问资源。
	第二部分是服务器位置(www.joes-hardware.com),这部分可以告知Web客户端资源位于何处。
	第三部分是资源路径(/seasonal/index-fall.html),资源路径说明了请求的是服务器上哪个特定的本地资源。

URL语法

URL通用语法
	<scheme>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<flag>
	scheme:数据传输的方案即协议
	user:用户名
	password:密码
	host:主机名
	port:端口号
	path:资源路径
	params:参数
	query:查询字符串
	flag:定位页面的具体内容位置

方案

方案:实际是规定如何访问指定资源的主要标识符,它会告诉负责解析URL的应用程序应该使用什么协议。

方案组件
	以一个字母符号开始,有第一个:符号将其余URL的其余部分分隔开。
	方案名是大小写无关的即http://www.baidu,com 和 HTTP://www.baidu.com是等价的

主机和端口
用户名和密码

URL快捷方式

各种编码的字符

发布了82 篇原创文章 · 获赞 468 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/qq_44647926/article/details/103949850
今日推荐