第一章 JavaWEB专题之Http基础协议&解析

1、CS架构&BS架构区别

(1)CS架构

  • 客户机-服务器,即Client-Server(C/S)结构

第一章 JavaWEB专题之Http基础协议&解析_第1张图片

  • 范例:LOL下载,王者荣耀下载

第一章 JavaWEB专题之Http基础协议&解析_第2张图片

(2)BS架构

  • 浏览器-服务器,即Browser-Server(B/S)结构

第一章 JavaWEB专题之Http基础协议&解析_第3张图片

  • 范例:PC端网页浏览,云生态,例如4399小游戏

第一章 JavaWEB专题之Http基础协议&解析_第4张图片

(3)BS & CS区别

第一章 JavaWEB专题之Http基础协议&解析_第5张图片

(4)URL

  • 含义:统一资源定位符,获取服务器的一种;

  • 标准格式:协议://服务器IP:端口/路径N ? key1=value1 & key2=value2

    • 协议:比如http、https,不同协议有不同的解析方式
    • 服务器IP:公网IP访问服务器
    • 端口:一个端口一个进程,http默认端口是80
    • 路径:资源所在路径(后端接口,一般称之为“接口路径”
  • 示例如下

#访问HDFS的WEB端
http://192.168.6.102:9870/logs

①协议:    http
②服务器ip:192.168.6.102
③路径:    logs
2、超文本传输协议Http
  • 协议:一种发送/接收消息约定方式,如果发送方按照这种请求格式发送,接收方按照这样的格式解析

(1)JSON协议

{
    name:zhangsan
    age:120
}

(2)XML协议

<user>
	<name>zhangsanname>
    <age>120age>
user>    

(3)Http协议

  • 超文本传送协议:建立在TCP协议之上的一种应用。

Ⅰ、Http连接

  • 含义:客户端每次发送的请求都需要服务器回送相应,从建立连接到关闭连接的过程称之为“一次连接”

  • 范例:以百度搜索王者荣耀为例

  • 请求 - requesturl

第一章 JavaWEB专题之Http基础协议&解析_第6张图片

  • 响应 - Preview

第一章 JavaWEB专题之Http基础协议&解析_第7张图片

Ⅱ、响应码

  • 含义:反映了web服务器处理HTTP请求状态,每一个响应码都代表了一种服务端反馈的响应状态,标识了本次请求是否成功
响应码 含义 备注
1xx 信息 比较少用
2xx 请求成功 200 ok代表请求正常
3xx 重定向,自动跳转到新URL 域名迁移时使用
4xx 客户端错误 主要是语法错误 & 无法完成请求
5xx 服务器错误 服务器在请求过程中发生错误
  • 范例:以百度搜索王者荣耀为例

第一章 JavaWEB专题之Http基础协议&解析_第8张图片

Ⅲ、https

  • 组成:HTTP+SSL/TLS
  • 优点:防止在传输过程中不被窃取、改变,保证数据完整性。
3、Http协议消息拆分详述
  • 范例:以王者荣耀官网为例
3.1、http请求消息结构

第一章 JavaWEB专题之Http基础协议&解析_第9张图片

(1)请求行

  • 请求方法
:method:GET

在这里插入图片描述

  • URL地址
:path: /speed/performance?dnsLookup=0&tcp=37&ssl=23&ttfb=17&contentDownload=1&domParse=539&resourceDownload=769&firstScreenTiming=0&id=3846&uin=&version=1.35.20&aid=92398881-f9a3-4c99-8871-0be5c5a9ad7c&env=production&platform=3&netType=4&vp=1920%20*%20881&sr=1920%20*%201080&sessionId=session-1642643989877&from=https%3A%2F%2Fpvp.qq.com%2F&referer=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DInZhKFOtmeSvUSkNXDVdSPoNh0DMOSrw8cSLSqk1odG%26wd%3D%26eqid%3Db3b8c60f0004a1b90000000361e8bcff

在这里插入图片描述

  • 协议名
:scheme: https

在这里插入图片描述

(2)请求头

  • 报头文:包含若干属性值(属性名:属性值),服务端据此获取客户端的基本信息。

第一章 JavaWEB专题之Http基础协议&解析_第10张图片

(3)请求体

  • 请求体:即请求参数

第一章 JavaWEB专题之Http基础协议&解析_第11张图片

3.2、http响应消息结构

第一章 JavaWEB专题之Http基础协议&解析_第12张图片

(1)响应行

  • 含义:报文协议、版本、状态码
HTTP/1.1 200 OK

第一章 JavaWEB专题之Http基础协议&解析_第13张图片

(2)响应头

  • 含义:即报文头,包含若干个属性,格式为“属性名:属性值”

第一章 JavaWEB专题之Http基础协议&解析_第14张图片

(3)响应正文

  • 含义:响应报文体,即我们需要的内容,有多种形式比如html、json、图片、视频文件。

第一章 JavaWEB专题之Http基础协议&解析_第15张图片

3.3、http请求方法
  • 请求方法:客户端通过HTTP的方法告诉服务器要执行什么动作
请求方式 概述
GET 用来查询数据,不对服务器的数据进行任何的修改、添加、删除等操作
POST 对服务器的数据的操作,侧重于数据新增操作
PUT 向服务端发送数据、改变信息的操作,侧重于数据修改操作
DELETE 删除资源,一般用于数据库数据的删除操作
HEAD 只是请求页面的头信息,用来获取报头信息返回的响应中没有内容,GET请求的返回中有实体信息。
3.4、http响应状态码
  • 响应状态码:服务器通过状态码来告诉客户端动作是否执行成功
状态码 概述
200 请求成功,已经正常处理完毕
301 请求永久重定向,转移到其它URL
302 请求临时重定向
304 请求被重定向到客户端本地缓存
400 客户端请求存在语法错误
401 客户端请求没有经过授权
403 客户端的请求被服务器拒绝,一般为客户端没有访问权限
404 客户端请求的URL在服务端不存在,一般是找不到路径对应的接口或文件
500 服务端内部报错,完成不了这次请求
503 服务器宕机
1.3.5、常见请求头概述
  • GET(请求的方式) /newcoder/hello.html(请求的目标资源) HTTP/1.1(请求采用的协议和版本号)

第一章 JavaWEB专题之Http基础协议&解析_第16张图片

key value
Accept 客户端能接收的资源类型
Accept-Language 客户端接收的语言类型
Connection 维护客户端和服务端的连接关系
Host 连接的目标主机和端口号
User-Agent 客户端版本号的名字
Accept-Encoding 客户端能接收压缩数据的类型
If-Modified-Since 缓存时间
Cookie 客户端暂存服务端的信息
Date 客户端请求服务端的时间
3.6、常见响应头概述
  • HTTP/1.1(响应采用的协议和版本号) 200(状态码) OK(描述信息)

第一章 JavaWEB专题之Http基础协议&解析_第17张图片

key value
Location 服务端需要客户端访问的页面路径
Server 服务端的Web服务端名
Content-Encoding 服务端能够发送压缩编码类型
Content-Length 服务端发送的压缩数据的长度
Content-Language 服务端发送的语言类型
Content-Type 服务端发送的类型及采用的编码方式
Last-Modified 服务端对该资源最后修改的时间
Date 服务端响应客户端的时间
Expires 服务端是否禁止客户端缓存页面数据
Connection 维护客户端和服务端的连接关系
3.7、context-type内容类型概述
  • Context-type:用来指定不同格式的请求响应信息,俗称MIME类型。
    • HTML文档标记:text/html
    • 普通ASCII文档标记:text/html
    • JPEG图片标记:image/jpeg
    • GIF图片标记:image/gif
    • js文档标记:application/javascript
    • xml文件标记:application/xml
    • pdf格式:application/pdf
    • 二进制流数据:application/octet-stream
    • 表单数据:multipart/from-data

你可能感兴趣的:(#,JavaWEB专题,http,服务器,网络协议)