一、HTTP介绍
1.网络协议
一、定义
-
- HTTP(HyperText Transfer Protocol),即超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议。它是互联网上应用最为广泛的一种网络协议。
二、特点
-
- 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有 GET、POST、HEAD 等。
-
- 灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由 Content-Type 加以标记。
-
- 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
-
- 无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
三、工作流程
-
- 客户端连接到 Web 服务器:一个 HTTP 客户端,通常是浏览器,与 Web 服务器的 HTTP 端口(默认为 80)建立一个 TCP 套接字连接。
-
- 发送 HTTP 请求:通过 TCP 套接字,客户端向服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据 4 部分组成。
-
- 服务器接受请求并返回 HTTP 响应:服务器解析请求,定位请求资源,服务器将资源复本写到 TCP 套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据 4 部分组成。
-
- 客户端浏览器解析 HTML 内容:客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的 HTML 文档和文档的字符集。客户端浏览器读取响应数据 HTML,根据 HTML 的语法对其进行格式化,并在浏览器窗口中显示。
四、HTTP 与 HTTPS 的区别
-
- 安全性:HTTPS 是在 HTTP 基础上通过传输加密和身份认证保证了传输过程的安全性。
-
- 端口不同:HTTP 默认使用 80 端口,HTTPS 使用 443 端口。
-
- 证书要求:HTTPS 需要申请数字证书来保证服务器的身份真实性。
URL 的组成
一、简介 URL 是 Uniform Resource Locator 的简写,即统一资源定位符。它由以下几部分组成:
二、组成部分
-
scheme:代表访问的协议,一般为http或者https以及ftp等。
-
host:主机名、域名,比如www.baidu.com。
-
port:端口号。当访问一个网站时,浏览器默认使用 80 端口。
-
path:查找路径。比如sz.58.com/chuzu/后面的/chuzu就是path。
-
query-string:查询字符串。比如www.baidu.com/swd=python,后面的wd=python就是查询字符串。
-
anchor:锚点,前端用来做页面定位的。现在一些前后端分离项目,也用锚点来做导航。
静态网页和动态网页
一、静态网页
-
- 定义 - 不能简单地理解成静止不动的网页,主要指网页中没有程序代码,只有 HTML(超文本标记语言),一般后缀为
.html、.htm或者.xml等。 - 通俗来说,静态页面就是 HTML、JS、CSS 组成的页面,是纯粹 HTML 格式的网页。
- 定义 - 不能简单地理解成静止不动的网页,主要指网页中没有程序代码,只有 HTML(超文本标记语言),一般后缀为
-
- 特点 - 页面一旦做成,内容就不会再改变了,但包括一些能动的部分,如 GIF 动画等。 - 用户可以直接双击打开,且不管任何人任何时间打开的页面内容都是不变的。 - 不论是网页是否被访问,页面都被保存在网站服务器上。 - 内容固定,每个页面都是独立的页面,不会根据浏览者的不同需求而改变。
-
- 后缀 - 以
.html、.htm、.html、.shtml、.xml作为后缀。
- 后缀 - 以
二、动态网页
-
- 定义 - 由 HTML、JS、CSS(模板)+动态程序(例如 PHP、ASP.NET、Java)+数据库(MySQL 等)组成的页面。
-
- 特点 - 内容可根据浏览者不同需求而改变,有数据库支持,在更新和维护方面相对方便。 3. 后缀 - 使用 ASP 或 PHP 或 JSP 等作为后缀。
三、静态网页和动态网页的区别
-
- 更新和维护 - 静态网页:内容一经发布到网站服务器上,无论是否有用户访问,这些网页内容都是保存在网站服务器上的。如果要修改网页的内容,就必须修改其源代码,然后重新上传到服务器上。没有数据库的支持,当网站信息量很大的时候维护起来很麻烦。 - 动态网页:有数据库支持,更新维护相对方便。
-
- 内容展示 - 静态网页:内容固定,每个页面都是独立的页面,不会根据浏览者的不同需求而改变。 - 动态网页:内容可根据浏览者不同需求而改变。
-
- 后缀形式 - 静态网页:以
.html、.htm、.html、.shtml、.xml作为后缀。 - 动态网页:使用 ASP 或 PHP 或 JSP 等作为后缀。
- 后缀形式 - 静态网页:以
爬虫requests
- get
- post