http/https简介
- http/https是应用层协议,用于 Web 浏览器与 Web 服务器之间的通信而设计的。
- 与http相比,https是一种安全通信的传输协议。https是在http的基础上,使用ssl或tls对数据包进行加密,提供身份认证、保护交换资料的隐私与完整性服务。
- http使用端口 80,而 https认使用端口443。
- http工作过程:
1.浏览器分析URL
2.浏览器向DNS请求解析IP地址
3.DNS解析出IP地址
4.浏览器与服务器建立TCP连接
5.浏览器发出取文件命令
6.服务器响应
7.释放TCP连接
8.浏览器显示
http消息结构
- http客户端请求消息由请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
- http服务器响应消息也由四个部分组成,分别是:状态行、消息报头、空行和响应正文
http的请求方法
-
http的请求方法一共有8种,分别是GET、POST、PUT、DELETE、EHAD、OPTIONS、TRACE、CONNECT
-
GET请求:只是用来查询获取数据,不对服务器的数据做任何的修改,新增,删除等操作。但是GET请求,会把请求的参数附加在URL后面,这样是不安全的,在处理敏感数据时不用,或者参数做加密处理。
-
POST请求:客户端将数据发送给服务器,以创建或更新数据,更侧重于更新数据。
-
PUT请求:客户端将数据发送给服务器,以创建或更新数据,侧重于创建数据。
-
DELETE请求:请求服务器删除指定的数据。
-
EHAD请求:只是用来查询获取数据,但响应报文中没有具体的内容,只能用于获取报头。
-
OPTIONS请求:在服务器的响应报文中,显示服务器对目标资源所支持的HTTP请求方法。或者向web服务器发送‘*’的请求,来测试服务器的功能性。
-
TRACE请求:显示服务器收到的请求,主要用于测试或诊断。
-
CONNECT请求:在HTTP/1.1 协议中,预留给能够将连接改为管道方式的代理服务。
-
注意:
1、get 取,是查询数据。
2、post 贴,常用于修改数据。
3、put 放,常用于新增数据。
4、delete 删,是删除数据。
HTTP 响应头信息
- Allow:表示服务器支持哪些请求方法,例如GET、POST等。
- Content-Encoding:表示网页文档的编码(Encode)方法。
- Content-Length:表示响应报文内容的长度
- Content-Type:表示后面的文档属于什么类型
- Date:表示是服务器是在什么时候响应回浏览器
- Expires:应该在什么时候认为文档已经过期,从而不再缓存它。
- Last-Modified:文档的最后改动时间。
- Server:服务器名字
- Set-Cookie:设置和页面关联的Cookie
http消息状态码
- web服务器收到http请求的时候,首先回返回一个包含 HTTP 状态码的信息,来向客户端说明资源或者链接的情况。
- 1xx :表示请求已接收,需要继续处理。
- 2xx :表示请求已经成功被服务器接收、理解、并接受。例如200 - 请求成功
- 3xx :为完成请求,客户端需要进一步操作。例如301 - 资源(网页等)被永久转移到其它URL
- 4xx :客户端的请求有错误,例如404 - 请求的资源(网页等)不存在
- 5xx :服务器端出现错误,例如500 - 内部服务器错误
RUL
- 统一资源定位符URL:唯一标识资源,一般形式:<协议>://<主机 >:<端口>/<路径>,端口和路径可以没有,例如https://www.bilibili.com
- 常见URL请求协议:http、https、ftp、pop3等
思考
-
GET请求 和POST 请求的差别
1.GET请求,会把请求的参数附加在URL后面,不安全。而POST请求,不会把请求的参数附加在URL后面,更安全。
2.GET 请求是用来获取资源的,也就是进行查询操作。而POST请求,是用来对数据的增添、删除、修改。
3.GET请求产生一个TCP数据包,而POST请求产生2个TCP数据包。因为GET
请求会把http httper和data一起发送。而POST请求,会先将http httper发出去,收到服务器状态码为200的响应时,再发data。 -
日常生活中什么时候会用GET,什么时候会用POST?
1.GET请求,用于从服务器中获得数据显示。例如查询存款余额、查询成绩等。
2.POST请求,用于修改服务器的数据。例如修改QQ和微信的密码、个人信息等。 -
简述你目前对web的认知
web 即全球广域网 World Wide Web ,也称万维网,是一种基于超文本和 HTTP 的、全球性的、动态交互的、跨平台的分布式图形信息系统。