计算机网络通关整理3-HTTP、状态码、Cookie、Session、HTTPS、Socket

网上收集整理,仅供笔记参考学习

计算机网络通关整理1-OSI、TCP/IP、Socket、IP地址

计算机网络通关整理2-TCP、UDP、 三次握手、四次挥手、流量控制、拥塞控制、粘包

计算机网络通关整理3-HTTP、状态码、Cookie、Session、HTTPS、Socket


HTTP

HTTP:超文本传输协议
请求类型:GET、POST、HEAD、PUT、DELETE、OPTIONS、
常用:GET、POST

GET和POST区别

GET POST
GET 一般用于获取或者查询资源信息 POST 一般用于更新资 源信息
客户端把要发送的数据添加到 URL 后面 要传递的数据放到 HTTP 请求报文的消息体
GET 请求的数据会被浏览器缓存起来,有历史记录 POST 提交的数据不 会被浏览器缓存,无历史记录

1. Http请求报文和响应报文

Http的请求报文

三部分组成:请求行、请求头、请求体

请求行:请求方法、URL、http版本协议
请求头:为请求报文添加一些附加信息,以“名/值”键值对的形式,之间用冒号表示。
空行:请求头最后有一个空行,表示请求头结束。
请求体:GET请求没有请求体
在这里插入图片描述

Http的响应报文

三部分:状态行、响应头、响应体
状态行:协议版本,状态码,状态码描述,之间由空格分隔;
响应头:与请求头类似,为响应报文添加了一些附加信息。
响应体:响应的jsp代码等

在这里插入图片描述

Http的请求报文和响应报文的首部字段

通用:Data、Connection、Cache-Control、Transfer-Encoding
请求:Host、Accept、Accept-Charset、Accept-Encoding、Accept-Language、Referer
响应:Accept-Ranges、Location、Server
实体(请求体/响应体):Allow、Content-Type、Content-Encoding、Content-Language、Content-Length、Content-Range


2. Http 状态码

2*:请求成功
3*:重定向
4*:客户端请求问题
5*:服务端问题

100:告诉客户端应该继续发送请求
200:请求被正常处理
202:服务器接受了请求,但是还没有处理,而且这个请求最终会不会处理还不确定
204:请求被受理但没有资源可以返回
301:永久性重定向
302:临时重定向
307:临时重定向,与302类似,只是强制要求使用POST方法
403:请求的对应资源禁止被访问
404:服务器无法找到对应资源
500:服务器内部错误
503:服务器正忙

3. 四种会话跟踪技术

1.Cookie
2.Session
3.URL 重写
4.作为隐藏域嵌入 HTML 表单中(隐藏表单域)

3.1 cookie和session

(1)cookie数据保存在客户端。session数据保存在服务端
(2)cookie可以减轻服务器压力,但是不安全,容易进行cookie欺骗
(3)session安全一点,但是占用服务器资源。

4. Http缓存机制

在这里插入图片描述
缓存首部字段:**Last-Modified **、**If-Modified-Since **
都是用于记录页面最后修改时间的HTTP头信息
Last-Modified是由服务器往客户端发送的HTTP头
If-Modified-Since 则是由客户端往服务器发送的

5. Http1.1和Http1.0的区别(Http1.1的4个新特性)

1.默认持久连接和流水线
持久连接:只要客户端服务端任意一端没有明确提出断开 TCP 连 接,就一直保持连接,在同一个 TCP 连接下,可以发送多次 HTTP 请求
流水线:客户端每遇到一个对象引用就立即发出一个请求,而不必等到收到前一个响应之后才能发出下一个请求
Http1.0:默认短连接,可利用Keep-Alive 头来维持长连接
2.分块传输数据
使发送方能将消息实体 分割为任意大小的组块(chunk),并单独地发送他们
3.状态码 100 Continue
HTTP/1.1 加入一个新的状态码 100 Continue,用于客户端在发送 POST 数据给服务器前,征询服务器的情况,看服务器是否处理 POST 的数据。

4.Host 域
HTTP1.1 在 Request 消息头里多了一个 Host 域,HTTP1.0 则没有这个域

5.1 长连接和短连接

HTTP 协议的长连接和短连接,实质上是 TCP 协议的长连接和短连接
http 长连接的优点:
1.通过开启和关闭更少的 TCP 连接,节约 CPU 时间和内存。
2.通过减少 TCP 开启和关闭引起的包的数目,降低网络阻塞。
http 长连接的缺点:
服务器维护一个长连接会增加开销。

http 短连接的优点:
服务器不用为每个客户端连接分配内存来记忆大量状态,也不用在客户端失去连接时去清理内存,节省服务器端资源,以更高效地去处理业务。
http 短连接的缺点:
如果客户请求频繁,将在 TCP 的建立和关闭操作上浪费时间和带宽。

HTTPS

http的安全问题:
a、通信使用明文不加密,内容可能被窃听
b、不验证通信方身份,可能遭到伪装
c、无法验证报文完整性,可能被篡改
HTTPS 就是 HTTP 加上加密处理(一般是 SSL 安全通信线路)+认证+完整性保护

HTTP、Socket和TCP

Socket与TCP的关系

Socket是对 TCP/IP 协议的封装,Socket 只是个接口不是协议,通过 Socket 我们才能使用 TCP/IP 协议,除了 TCP,也可以使用 UDP 协议来传递数据。
Socket的出现 只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口

TCP协议是传输层协议,主要解决数据 如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据

Socket与HTTP的关系

通常情况下Socket连接就是TCP连接
但在实际网络应用中,若双方建立的是Socket连接服务器就可以直接将数据传送给客户端;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端

http 只能基于 tcp,socket 不仅能走 tcp,而且还能走 udp,这个是 socket 的第一个特点。

Socket 效率高,至少不用解析 http 报文头部一些字段 。

HTTPS作用

内容加密 建立一个信息安全通道,来保证数据传输的安全;
身份认证 确认网站的真实性
数据完整性 防止内容被第三方冒充或者篡

HTTPS数据传输过程中用到的技术

  1. 对称加密算法
    2.非对称加密算法:公钥和私钥
    3.散列算法:验证数据的完整性。
    4.数字证书:证明自己的身份

在浏览器中输入 URL 后,执行的全部过程。会用到哪些协议?(一次完整的 http 请求过程)

  • 域名解析
  • 为了将消息从你的 PC 上传到服务器上,需要用到 IP 协议、ARP 协议和 OSPF 协议。
  • 发起 TCP 的 3 次握手
  • 建立 TCP 连接后发起 http 请求
  • 服务器响应 http 请求
  • 浏览器解析 html 代码,并请求 html 代码中的资源(如 js、css、图片等)
  • 断开 TCP 连接
  • 浏览器对页面进行渲染呈现给用

猜你喜欢

转载自blog.csdn.net/weixin_45773603/article/details/108146210