JavaEE初阶,网络原理HTTP报头篇

认识请求"报头(header)"

header 的整体结构格式也是"键值对"结构。每一行是一个键值对,键和值之间使用空格分割。

Host

表示服务器主机的地址和端口。

Content-Length

表示body中的数据长度,单位是字节。

对于TCP来说,一个连接上可以发送多个请求。服务器这边收到数据就得区分一下,数据是从哪里到哪里是一个完整的http请求数据。
原理:

  • 如果没有body的http请求,读到空格,就是标志结束。
  • 有body的http请求,先读取首行和header,再读到空行;在解析header中的Content-Length根据这里解析的值,来判断接下来读取的固定字节的长度。
Content-Type

表示请求的body中的数据格式。

约定了接收方如何解析body中的数据

注意: 请求和响应都会用到 Content-Type,如果有body,并且没有这两个属性都认为是非法的/错误的http报文。

User-Agent(简称UA)

表示浏览器/操作系统的属性。

格式如下:

Referer

表示这个页面是从哪个页面跳转过来的。

Cookie就是浏览器允许网页在本地硬盘存储数据的一种机制,不是让网页代码直接访问文件系统,而是通过Cookie进行间接访问。

状态码

状态码表示访问⼀个页面的结果。 (是访问成功, 还是失败, 还是其他的⼀些情况...)。

200 OK

这是⼀个最常见的状态码, 表示访问成功。

404 Not Found

没有找到资源。浏览器输⼊一个 URL, ⽬的就是为了访问对方服务器上的⼀个资源. 如果这个 URL 标识的资源不存在,那么就会出现 404。

403 Forbidden

表示访问被拒绝. 有的页面通常需要用户具有⼀定的权限才能访问(登陆后才能访问). 如果用户有登陆直接访问, 就容易见到 403。

405 Method Not Allowed

若请求的方法和服务器这边声明的注解不匹配,就会出现405.
500 Internal Server Error

服务器出现内部错误. 一般是服务器的代码执行过程中遇到了一些特殊情况(服务器异常崩溃)会产生这个状态码。
504 Gateway Timeout

当服务器负载比较大的时候, 服务器处理单条请求的时候消耗的时间就会很长, 就可能会导致出现超时的情况。
302 Move temporarily

临时重定向。在登陆页面中经常会见到 302. 用于实现登陆成功后自动跳转到主页。
301 Moved Permanently

永久重定向。当浏览器收到这种响应时, 后续的请求都会被自动改成新的地址。
状态码小结:

HTTPS

明文加密得到密文,密文解密得到明文。

证书: 服务端在使用HTTPS前,需要向CA机构申领⼀份数字证书,数字证书⾥含有证书申请者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书⾥获取公钥就⾏了,证书就如⾝份证,证明服务端公钥的权威性。

这个证书可以理解成是一个结构化的字符串, 里面包含了以下信息:

• 证书发布机构

• 证书有效期

• 公钥

• 证书所有者

• 签名

• ...

需要注意的是:申请证书的时候,需要在特定平台⽣成查,会同时生成一对密钥,即公钥和私钥。这对密钥就是用来在网络通信中进行明文加密以及数字签名的。

相关推荐
一起养小猫1 小时前
Flutter for OpenHarmony 实战:打造天气预报应用
开发语言·网络·jvm·数据库·flutter·harmonyos
qianshang2335 小时前
SQL注入学习总结
网络·数据库·渗透
云小逸7 小时前
【网络通信】同一网段与不同网段的通信原理
网络·网络安全
zr5268554478 小时前
PCIe-PN卡(三格电子)
网络
无名的小三轮8 小时前
防火墙基础实验:智能选路下的透明DNS选路配置
网络
一轮弯弯的明月8 小时前
TCP传输大致过程、流量控制与拥塞控制
网络·tcp/ip·计算机网络·学习心得
犀思云9 小时前
如何通过网络即服务平台实现企业数字化转型?
运维·网络·人工智能·系统架构·机器人
皇帝要考研9 小时前
【ISO 13400-2:2019】核心配置项
网络·网络协议
犀思云9 小时前
企业端到端NaaS连接的优势与应用
网络·人工智能·机器人·智能仓储·专线
Godspeed Zhao10 小时前
现代智能汽车系统——总线技术1
网络·汽车·php