前言
鉴于之前对爬虫的学习,整理下关于http协议的一些知识,留作备忘
认识http协议
http协议,即超文本传输协议(HTTP,HyperText Transfer Protocol),用于从WWW服务器传输超文本到本地浏览器的传送协议。我们现在广泛使用的是http1.1(源于RFC 2616)。
区分
TCP/IP、HTTP、HTTPS的一些理解
(1)TCP/IP 是个协议组,分为网络接口层、网络层、传输层和应用层
- 网络层中有IP协议、ICMP协议、ARP协议等
- 传输层有TCP协议与UDP协议
- 应用层有HTTP、HFP等协议
而在internet中所有的传输都是通过TCP/IP进行的,HTTP协议通常是承载于TCP之上的。
(2)HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。且是一个无状态的协议。
(3)HTTPS:以安全为目标的HTTP通道,承载于TLS或SSL协议层上。简单的说就是HTTP的安全版
HTTP的端口号为80,HTTPS的端口号为443
详细情况如下图[侵删]
工作流程
整个过程都是由HTTP自己完成的,用户只需要点点鼠标等待结果返回就可以了,大致流程如下图:
URL详解
URL是UniformResourceLocator, 中文叫统一资源定位符,是互联网上用来标识某一处资源的地址。
在理解URL之前,先理解下UTI
(1)URI(uniform resource identifier),统一资源标识符,用来唯一的标识一个资源
Web上每种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个通用资源标志符(Universal Resource Identifier, URI)进行定位的。
通常的结构:
访问资源的命名机制 +存放资源的主机名+资源自身的名称(由路径表示)
例如:http://www.webmonkey.com.cn/html/html40/
释义:可以通过HTTP协议访问的资源+位于主机(www.webmonkey.com.cn)上+路径(html/html40/)访问
(2)URL(Uniform Resource Locator)是URI的一个子集,统一资源定位符。
URL是Internet上用一种统一的格式来描述各种信息资源(包括文件、服务器的地址和目录等)的字符串,主要用在各种WWW客户程序和服务器程序上。
组成结构:第一部分+“://”+第二部分+“/”[有时可忽略]+第三部分
- 第一部分是协议(或称为服务方式)。
- 第二部分是存有该资源的主机IP地址(有时也包括端口号)。
- 第三部分是主机资源的具体地址,如目录和文件名等。
例如:http://www.peopledaily.com.cn/channel/welcome.htm
释义:其计算机域名为www.peopledaily.com.cn。超级文本文件(文件类型为.html)是在目录 /channel下的welcome.htm。