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机构申领⼀份数字证书,数字证书⾥含有证书申请者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书⾥获取公钥就⾏了,证书就如⾝份证,证明服务端公钥的权威性。

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

• 证书发布机构

• 证书有效期

• 公钥

• 证书所有者

• 签名

• ...

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

相关推荐
猿小路7 小时前
抓包工具-Wireshark
网络·测试工具·wireshark
Rabbit_QL7 小时前
【网络设置】Docker 自定义网络深度解析:从踩坑到工程实践
网络·docker·容器
浩子智控8 小时前
电子产品三防设计
网络·系统安全
我要升天!9 小时前
Linux中《网络基础》
linux·运维·网络
Chan169 小时前
【 Java八股文面试 | JavaSE篇 】
java·jvm·spring boot·面试·java-ee·八股
安科瑞刘鸿鹏179 小时前
工业自动化系统中抗晃电保护的协同控制研究
运维·网络·嵌入式硬件·物联网
ZStack开发者社区10 小时前
ZStack Cloud 5.5.0正式发布
运维·服务器·网络
2501_9458374310 小时前
云服务器的防护体系构建之道
网络·安全
徐*红10 小时前
物理层-传输介质:双绞线,同轴电缆,光纤,无线传输介质
网络
yuanmenghao11 小时前
CAN系列 — (6) CAN FD 带宽、CPU、中断:工程上是如何一起算的?
网络·驱动开发·单片机·mcu·自动驾驶·信息与通信