计算机网络的理论(1)

客户端:主动发起请求的一方
服务器:被动接受请求的一方

应用层

1.请求(request)和响应(response)中包含的信息有哪些

2.请求数据和响应数据如何组织(具体按照什么格式来序列化)

​ 序列化:把对象变成字符串

​ 反序列化:把字符串变成对象

​ 序列化的创建方式

​ a)xml

​ b)json 优点:方便调试

​ 缺点:传输效率低

HTTP协议

打开一个网页都是靠http协议

https基于http来实现的,多了一层加密层

url:网址/链接

ip地址不太方便记忆和传播,用一些更好记忆的字符串来表示:域名,浏览器在访问域名的时候会自动把域名转成ip地址

路径表示主机上的具体的资源(文件或者虚拟的文件)

[https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=斗鱼&rsv_pq=c4cba84600063471&rsv_t=2ec87haIjfgpW%2BztZM3aFty5%2FAHqIgZHQfVMGNQatBxvGKZ8hJvpGfuvWRI&rqlang=cn&rsv_enter=1&rsv_sug3=7&rsv_sug1=1&rsv_sug7=001&rsv_sug2=0&rsv_dl=tb&inputT=826&rsv_sug4=1334&rsv_sug=9]

查询字符串(query_string)中的键值都是用户自定义

urlencode:query_string如果包含了一些特定字符,都需要进行转译. %[十六进制数字]

抓包工具:收费站

HTTP 请求

1.首行

​ a)方法 GET/POST/PUT/DELETE/…

​ b)url

​ c)版本号 常见HTTP/1.1 HTTP2.0 HTTP3.0

​ 三个部分之间使用空格分割

2.协议头(header)

​ 若干个键值对

​ 每个键值对占一行,每个键和值之间使用:分割

3.空行

​ 表示header到这里结束

4.协议正文(body)

​ 一般GET请求没有body,POST请求才有

HTTP响应格式

1.首行

​ A:版本号

​ B:状态码

​ C:状态码描述信息

2.协议头(header)

​ 仍然是一组键值对

​ 每个键值对占一行

​ 中间使用:隔开

3.空行

​ 表示header部分结束的标记

4.协议正文(body)

​ 响应中的正文格式有很多种,比如可以是一个html,也可以是一个CSS,也可以是一个JavaScript,还可以是一个图片数据,还可以是一个json数据…

1.常用的方法有哪些?

​ GET,POST,PUT,DELETE,HEAD,OPTION…

2.GET和POST的区别是啥?【重点】

​ GET请求往往把自定制数据放在query_string中

​ POST请求往往把自定制数据放在body中.

3.常见的状态码有哪些?【重点】

​ a)200 OK 表示访问成功

​ b)302 Found 表示重定向

​ c)404 Not Found 表示没找到指定资源

​ d)403 Forbidden 表示没有找到,没有权限

​ e)502 Bad Gateway 表示服务器挂了

​ f)504 Gateway Timeout 服务器响应超时

  • 2xx表示访问成功
  • 3xx表示重定向
  • 4xx表示客户端出错
  • 5xx表示服务器出错
4.常见的header有哪些?

​ a)Content-Type:描述了body的数据格式类型。

​ b)Content-Length:描述了body的数据长度。

​ c)Host:描述了主机名(域名:ip地址)

​ d)Referer:当前页面是从哪个页面跳转过来的

​ e)Cookie:字符串,浏览器的本地存储能力之一

​ Cookie中经常会包含一种身份标示信息称为session id

​ session 服务器端维护的一个数据结构,记录了用户的相关身份信息,session id就是session对象的唯一身份标示,session id 保存在浏览器中,浏览器后续再访问服务器的时候,就会自动带着session id,从而让服务器知道当前请求是哪个用户发过来的。

​ 服务器端使用hash table之类的结构来维护若干个用户的身份信息,key就是session id,value 就是完整session对象

​ Cookie其实是按照我们的Host这个header来划分的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值