第三天笔记

一、请求网站的过程

输入网址,回车 DNS域名解析得到IP地址返回浏览器 浏览器向服务器发起TCP三次握手建立连接 建立连接后向服务器发起HTTP请求 服务器响应HTTP请求,浏览器得到html代码 浏览器解析html代码,得到html代码的信息并将其渲染呈现出来

二、GET和POST的区别

可见性
GET在url中传参,可以直接看见。
POST的传参方式url不可见,POST将参数存放在http包内
传输数据大小
GET传输数据受url的限制,最长2048个字符
POST没有字符长度限制
后退页面
GET后退没有影响,POST后退会重新提交
缓存
GET的请求会缓存,请求记录会存放在历史记录中
POST不可以被缓存,请求记录不会存放在历史记录中
编码方式
GET只支持url编码
POST支持多种编码方式
字符类型
GET只支持ASCII字符
POST没有字符类型限制

三、理解session和cookie的作用和不同

1、cookie

作用:
Cookie的根本作用就是在客户端存储用户访问网站的一些信息。典型的应用有:
1、记住密码,下次自动登录。
2、购物车功能。
3、记录用户浏览数据,进行商品(广告)推荐。
缺陷
1、Cookie会被附加在每个HTTP请求中,所以无形中增加了流量。
2、由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题。(除非用HTTPS)
3、Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。

2、session

作用
Session的根本作用就是在服务端存储用户和服务器会话的一些信息。典型的应用有:
1、判断用户是否登录。
2、购物车功能。

区别

1、存放位置不同
Cookie保存在客户端,Session保存在服务端。
2、安全性不同
Cookie存储在浏览器中,对客户端是可见的,客户端的一些程序可能会窥探、复制以至修正Cookie中的内容。而Session存储在服务器上,对客户端是透明的,不存在敏感信息泄露的风险。 假如选用Cookie,比较好的方法是,敏感的信息如账号密码等尽量不要写到Cookie中。最好是像Google、Baidu那样将Cookie信息加密,提交到服务器后再进行解密,保证Cookie中的信息只要本人能读得懂。而假如选择Session就省事多了,反正是放在服务器上,Session里任何隐私都能够有效的保护。
3、时效性不同
只需要设置Cookie的过期时间属性为一个很大很大的数字,Cookie就可以在浏览器保存很长时间。 由于Session依赖于名为JSESSIONID的Cookie,而Cookie JSESSIONID的过期时间默许为–1,只需关闭了浏览器(一次会话结束),该Session就会失效。
4、对服务器造成的压力不同
Session是保管在服务器端的,每个用户都会产生一个Session。假如并发访问的用户十分多,会产生十分多的Session,耗费大量的内存。而Cookie保管在客户端,不占用服务器资源。假如并发阅读的用户十分多,Cookie是很好的选择。

四、常见的请求方法

OPTIONS:返回服务器所支持的http请求方法
HEAD:与GET请求相一致的响应,但只返回头部信息,响应体将不会被返回
GET:向特定的资源发出请求
POST:向指定资源提交数据进行处理请求。数据包含在请求体中。
PUT:向指定资源位置上传最新内容
DELETE:请求服务器删除指定资源
TRACE:回显服务器收到的请求,主要用于测试或诊断
CONNECT:开启客户端与请求资源之间的双向通道,它可以用来创建隧道
PATCH:是对PUT方法的补充,用来对已知资源进行局部更新

五、数据包常见的字段

ACCEPT:
作用:浏览器可以接受的媒体类型
Accept:text/html:
代表浏览器可以接收服务端响应的类型为html格式,如果无法返回,返回406错误
Accept:/
浏览器可以处理所有类型的请求
Accept-Encoding:
浏览器声明自己接收的编码方法,通常是指压缩方法,是否支持压缩,使用什么方法压缩。
Accept-Language:
浏览器声明自己接收的语言
Accept-Language:zh-cn,zh,q=0.7.en,en;1=0.3
客户端要求服务端有中文版资源的时候,返回中文版对应的响应,没有则返回英文版
CONNECTION:
作用:处理完这次请求是否断开连接还是继续保持连接
Connection:keep-alive:
当网页打开完成后,客户端和服务端之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问服务器上的网页,会继续使用这条未断开的连接
Connection:close:
当网页打开完成后,客户端和服务端之间用于传输HTTP数据的TCP连接关闭,如果客户端再次访问服务器上的网页,需要继续新建一个TCP连接
HOST
作用:请求头中主要用于请求资源的主机地址和端口号,它通常是在URL中提取出来
Referer:
客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的,包含一个URL,用户从该URL代表的页面出发访问当前请求的页面
User-Agent:
作用:告诉服务器,当前用户使用什么操作系统,浏览器是什么版本及型号
Content-Type:
作用:说明报文体中的对象的媒体类型
Content-Length:
作用:表示请求消息正文的长度

六、常见的状态码

通用记忆法

分类含义
1XX表示消息。这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态和某些可选的响应头信息,并以空行结束。
2XX表示成功。这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。
3XX表示重定向。这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址在本次响应的Location域中指明。
4XX表示请求错误、这类状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个HEAD请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永济性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含此类错误响应中的实体内容。
5XX表示服务器错误。这类状态码代表了服务器在处理请求过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个HEAD请求,否则服务器·包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中包含的实体。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值