一、HTTP协议原理介绍: HTTP协议,全称HyperText Transfer Protocol,中文名为超文本传输协议 HTTP的重要应用之一是WWW服务 www,全称World Wide Web,常称为Web,中文译为“万维网” HTTP协议的WWW服务应用的默认端口为80 另外一个加密的WWW服务应用https的默认端口为443 说明:一般互联网公司,对外开放的端口,只有两个(80和443) 二、HTTP协议原理介绍 用户访问网站流程: 1)利用DNS服务进行域名解析(DNS解析原理-递归查询/迭代查询)
2)用户端要和企业网站服务器建立网络连接(TCP三次握手过程/三次握手的状态转换) 3)用户请求网站发送相应页面信息 --- http请求报文发送(客户端发出) http请求报文包含:请求起始行-请求头部-空行-请求主体(内容) 3+) 根据网站架构层次,思考详细请求的过程 4)网站响应用户请求,发送相应页面信息 --- http响应报文发送(服务端发出) 5)用户端要和企业网站服务器断开网络连接(TCP四次挥手过程/四次挥手的状态转换) 三、HTTP协议请求报文结构: 1)请求行: a)请求方法: get --- 获得请求文件信息的数据内容(获取) post --- 告知服务需要保存的数据信息(提交) b) 请求文件信息: 说明:当没有指定请求的文件内容,默认请求的是首页文件index.html c )说明请求报文采用什么http协议版本 HTTP协议版本说明 1.0:规定浏览器与服务器只保持短暂的连接(TCP短连接) 1.1:规定浏览器与服务器只保持长久的连接(TCP长连接) 2)请求头内容: d) 空行 e) 请求主体内容: 说明:采用get方法时,不会有请求主体内容;采用post方法时,将要提交的信息放入 请求主体中。 四、HTTP响应报文结构: 1)起始行: a) HTTP协议版本 HTTP协议版本说明 1.0:规定浏览器与服务器只保持短暂的连接(TCP短连接) 1.1:规定浏览器与服务器只保持长久的连接(TCP长连接) b) HTTP响应状态码信息 告知请求的结果 200 --- 正常响应请求报文 301 --- 跳转,永久跳转 302 --- 跳转,临时跳转 403 --- 设置指定页面拒绝访问;(*****还有一种情况???) 404 --- 找不到我所要请求的文件内容(找不到请求的页面信息) 500+ --- 网站后端服务器出现了问题(大部分情况都是网站出现问题) 说明:详细了解很多http状态码,http权威指南 c) HTTP状态描述信息 curl命令可以在linux系统中,模拟浏览器功能,访问网站 -I --- 显示响应报文起始行和响应头部信息

2) 响应头部: 
    d) 空行
    e) 响应报文主体:
        说明:就是请求报文中,所要请求文件的内容;客户端浏览器会识别响应报文主体内容,进行解析  

五、以下是linux其中2种查看方法: curl -v www.baidu.com <- 利用curl命令的-v参数,查看访问网站请求与响应信息 wget --debug www.baidu.com <- 利用wget命令的--debug参数,查看访问网站请 求与响应信息

六、HTTP术语介绍 1)媒体资源类型 说明:定义相应web服务可以识别的文件资源类型; ?如果媒体资源类型中有相应请求文件类型,会帮你进行解析 ?如果媒体资源类型中没有响应请求文件类型,会将文件传输给客户端,自行解析

 2)URL与URI概念介绍
  URL,全称为Uniform Resource Location,中文翻译为统一资源定位符
    URI,全称为Uniform Resource Identifier,中文翻译为统一资源标识符
		
  https://search.jd.com     /     Search?keyword=10tb&enc=utf-8&suggest=3.his.0
         URL                                                               URI
				 
 3) 静态网页资源
  纯粹HTML格式的网页(可以包含图片、视频JS(前端功能实现)、CSS(样式)等)通常被称为“静态网页”
  特征说明:
  a)每个页面都有一个固定的URL地址,且URL一般以.html、.htm、.shtml等常见形式为后缀,
     而且地址中不含有问号“?”或“&”等特殊符号。
  b)静态网页是实实在在保存在服务器上的文件实体,每个网页都是一个独立的文件
  c)静态资源不需要和数据库进行交互,因此网站交互性能差
  d)网页内容是固定不变的,因此,容易被搜索引擎收录(容易被用户找到)(优点)
  e)网页程序在用户浏览器端解析,当客户端向服务器请求数据时,
        服务器会直接从磁盘文件系统上返回数据(不做任何解析)
  1. 动态网页资源 所谓的动态网页是与静态网页相对而言的,也就是说,动态网页的URL后缀不 是.html、.htm、.xml、.shtml、.js、.css等静态网页的常见扩展名形式 特征说明 a)动态资源需要和数据库进行交互,因此网站交互性能好 b)网页程序在服务端解析,当客户端向服务器请求数据时, 服务器会直接从磁盘文件系统上返回数据(会做数据解析后返回)

5)伪静态资源(了解/真正企业中有开发人员负责伪静态资源编写) a) 网页内容是固定不变的,因此,容易被搜索引擎收录

   b) 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,
            服务器会直接从磁盘文件系统上返回数据(不做任何解析)
						
   c) 动态资源需要和数据库进行交互,因此网站交互性能优
	 
   d)网页程序在服务端解析,当客户端向服务器请求数据时,
             服务器会直接从磁盘文件系统上返回数据(会做数据解析后返回)