编程语言
首页 > 编程语言> > JavaEE(一)HTTP

JavaEE(一)HTTP

作者:互联网

JavaEE(一)HTTP

知识总览
image

HTTP协议概述

HTTP:Hyper Text Transfer Protocol 超文本传输协议 ,是一个简单的请求-响应协议,它规定了客户端以何种格式发送数据给服务器以及需要得到何种格式的响应数据。
HTTP诞生之初主要目的是为了传输HTMl(超文本标记语言)
因为HTTP协议是借助网络的,而对于网络 我们一般会分层抽象
在学习HTTP之前 还需要了解网络模型 OSI参考模型,以及TCP/IP模型

HTTP协议简介

HTTP协议工作流程

image
1.域名解析:域名解析为IP地址(域名:在网络中用来标记一台计算机主机需要用到IP地址,但是IP地址比较长,不容易被人记忆。人们设计出了域名,用来指代对应的IP地址。)
2.TCP建立连接
3.发送HTTP请求

HTTP请求和HTTP协议之间的关系是什么?
http协议是一个指导方针,用来规范、约束通讯时传递的信息格式
http请求指的就是客户端发送的请求信息应当具有的格式

4.返回HTTP响应
**5.浏览器解析HTML代码、渲染页面、最终将页面呈现在用户的面前。

HTTP请求

客户端/浏览器 发送的请求信息,当按照HTTP协议的要求去发送时,就是HTTP请求信息,也称之为HTTP请求报文。
HTTP请求报文格式:
请求行:可以分为请求方法、请求资源、请求协议版本号三部分组成,三部分之间以空格相隔。请求行以\r\n换行符与请求头分开。
请求头:主要用与客户端在请求消息中向客户端传递的附加信息,主要包括客户端可以接受的数据类型(MIME类型)、压缩方法、语言以及发出请求的超链接所属页面的URL地址等信息.相邻请求
头之间以\r\n进行分割
空行
请求体
注:请求方法需要知道常用的两个 GET、POST
GET和POST的区别是啥?
语义不同,制定时赋予的功能不同。
get的语义是用来获取数据(浏览器发送的请求,99%都是get请求)
post的语义是用来提交数据的 主要用于注册、登录
如何发送GET/POST请求? From表单

版本协议HTTP/1.1是现版本的固定写法,它的上一代是HTTP/1.0 它们最大的区别在于HTTP/1.1支持长连接
长连接:在一个TCP连接内,可以发送多个HTTP请求、响应。
image

HTTP响应

HTTP响应报文:

响应行:响应行分为三部分组成:版本协议、状态码、原因短语

响应头:携带给浏览器看的一些列信息

响应体:如果浏览器需要在窗口上显示出数据,那么这些数据就需要放在响应报文的响应体中

HTTPS

https = http +ssl
https是升级版的http协议。主要是为了保障安全性

http的不安全点在哪?
1.通讯过程全部由明传输,没有任何加密措施
2.不验证通信另一方的身份
3.没有完整性的校验,不知道报文信息在传输过程中有没有被篡改

heeps采取了一些措施,分别去解决该问题
1.引入了加密算法 采用了混合加密(对称加密和非对称加密)
2.引入了证书,用于验证通信另一方的身份
3.引入了完整性校验

尚不完善 未完待续.....

标签:WEB,HTTP,请求,协议,JavaEE,响应,浏览器
来源: https://www.cnblogs.com/likangnianxinbaiwan/p/16316243.html