目录
一. HTTP协议
1.Http协议
📌什么是协议?
通信双方的一种约定
📌什么是Http协议?
它是一种互联网请求和响应的协议,即超文本传输协议(传输的信息不止有文本,还能传图片,音频 等)。请求和响应要成对出现,有请求一定要有响应。用来规定浏览器和服务器之间需要遵守的规则,它规范浏览器和服务器之间的数据传递.
📌Http和Https的区别
(1)Http的信息是明文传输,而Https是加密传输协议,安全性更高
(2)HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
(3)HTTP 是无状态的。(无状态的意思是其数据包的发送、传输和接收都是相互独立的,指通信双方都不长久的维持对方的任何信息。)HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,更安全。
2.请求与响应
📌请求协议
请求包括请求行,请求头(Headers),请求体(body)
请求行:包括请求方式(get,host.....),请求地址(地址栏里的内容),Http版本
请求头:Headers包括很多内容,比如User-Agent,Charset......以键值对的形式表示
请求体:就是用来传递请求参数到服务器端的。get请求的时候参数不是通过请求体传递的,只有post才是通过请求体传递。
Get方式是通过url后面添加?参数名=值的方式带的参数(所有参数都在地址栏中),Post方式的参数则在body中。
📌常见的请求方法
GET,POST,PUT,DELETE(前两种最常用)
GET:用于获取数据,对服务器数据不进行修改,不发送Body
POST:用于增加或修改资源,发送给服务器的内容写在body里
PUT:用于修改资源,内容在Body里
DELETE:用于删除资源,不发送Body
📌请求头相关信息理解
Accept:浏览器可以接受的媒体类型(MIME类型),
例如:Accept: text/html 代表浏览器可以接受服务器回发的类型为 text/html 也就是我们常说的html文档, 如果服务器无法返回text/html类型的数据,服务器应该返回一个406错误(non acceptable)。
通配符 * 代表任意类型。例如 Accept: */* 代表浏览器可以处理所有类型,(一般浏览器发给服务器都是发这个)
Accept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate),(注意:这不是只字符编码);
例如:Accept-Encoding: gzip, deflate。Server能够向支持gzip/deflate的浏览器返回经gzip或者deflate编码的HTML页面。许多情形下这可以减少5到10倍的下载时间,也节省带宽。
Accept-Language:浏览器申明自己接收的语言。
语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等;
例如:Accept-Language : zh-cn 。如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。
User-Agent:告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本.
我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际上, 服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。
例如:User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; InfoPath.2; .NET4.0E)
Accept-Charset:浏览器申明自己接收的字符集,这就是本文前面介绍的各种字符集和字符编码,如gb2312,utf-8(通常我们说Charset包括了相应的字符编码方案);
例如:Accept-Charset:iso-8859-1,gb2312.如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。
Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中;
Authorization请求报头域主要用于证明客户端有权查看某个资源。当浏览器访问一个页面时,如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。
Content-Length:发送给HTTP服务器数据的长度。即请求消息正文的长度;
例如:Content-Length: 38
Content-Type:指定Body的类型。
例如:Content-Type: application/x-www-form-urlencoded
Content-Type主要有四类:
1.text/html:请求Web页面时返回响应的类型,Body中返回html文本。
2.x-www-form-urlencoded:Web页面纯文本表单的提交方式。
3.multitype/form-data:Web页面含有二进制文件时的提交方式。
4.application/json,image/jpeg,application/zip...:单项内容(文本或非文本都可以),用于Web Api的响应或者POST/PUT的请求。
📌响应协议
status code : 状态码,通常200即响应成功,404,505.....都是响应错误
响应行,响应头(告知浏览器一些响应的信息),响应体(响应的内容,返回给浏览器的内容)
二. Web的基础知识
📌如何去访问资源
通过url访问去访问资源,url全名统一资源定位符,描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个精准、固定的位置获取资源
例如 url = http://localhost:8080/test/index.jsp?id=98&name=zhangsan
分析:http://表明是http协议
localhost表示本机名,可以替换为域名,IP地址等
8080:是端口号,如果被占用可以更换
?id=98&name=zhangsan :表示get请求到服务器的参数
index.jsp:表示是一个资源,是一个jsp文件
所有url都可以一步步分析
三. Tomcat服务器
📌什么是服务器
只有服务器软件启动起来,用户才可以访问,若关闭服务器,则访问就会报错,当我们遇到一些服务器崩溃时,其实就是服务器被迫下线关闭,用户就不能打开。
📌Tomcat的安装和配置
1.官网下载:https://tomcat.apache.org的官网去下载,注意 和操作系统要一致
2.安装好压缩包就解压安装即可,但是它是基于jdk环境变量