HTTP协议知识总结

HTTP协议指的是超文本传输协议,其建立在运输层TCP协议的基础上,利用互联网来进行传输超文本的一个应用层协议。

HTTP与HTTPS的区别

http与https均属于应用层协议,其中HTTPS协议经过了TLS和SSL加密,他们的不同点是:

1. HTTPS协议发送的内容是经过加密后的内容,而HTTP发送的是明文

2. HTTPS使用的是443端口,HTTP协议使用的是80端口

3. HTTPS需要证书认证,成本高,相对困难,但是安全性高

 

HTTP协议特点

1. 简单快速

2. 灵活,允许传输任意类型的数据对象

3. 无连接,请求响应后立刻断开连接

4. 无状态,协议对于事务处理没有记忆性,如果后续处理需要前边的信息需要进行重传

 

HTTP请求响应模型

HTTP协议永远是客户端发起请求,然后服务端予以相应,及请求-响应模式

请求响应步骤:

1. 客户端连接到web服务器,建立一个TCP连接

2. 发起HTTP请求,客户端通过TCP向服务端发送一个请求报文

3. 服务器接收请求并返回响应报文

4. 释放TCP连接

5. 客户端解析响应

请求报文方法:GET   POST   HEAD   PUT   DELETE

GET与POST的区别:

最主要的区别是,GET请求的参数是放置在URL中,而POST请求参数放在请求体中。因而导致下列区别:

1. GET请求在浏览器后退是没有关系的,POST会再次发出请求

2. GET产生的URL可以被收藏,而POST的不可以

3. GET请求的参数会出现在历史纪录中,POST不会

4. POST安全性更高

5. URL有长度限制,因此GET请求参数有长度限制,而POST没有

6. GET请求只能进行URL编码,POST支持多种编码方式

7. 对参数的类型,GET仅支持ASCII字符,POST没有限制

8. GET请求会被浏览器主动缓存,POST不会

 

网络状态码:

1XX: 表示请求成功接收,等待后续处理

2XX: 成功

3XX: 重定向相关

4XX: 客户端错误

5XX: 服务端错误

具体状态码:

200:请求成功

301:所请求页面已经转移到新的url上

302:所请求页面已经临时转移到新的url上

304:未修改,缓存相关,表示客户端缓存未过期,可以被继续使用

403:拒绝提供服务

404:访问资源不存在

500:服务器发生不可预期的错误

503:临时过载或宕机,一段时间后可能恢复正常

 

缓存相关

缓存分为强缓存和协商缓存,强缓存指的是强制使用客户端的缓存,只有当客户端的缓存过期后,才向服务器请求新数据

协商缓存指的是每一次使用缓存时,都向服务器询问是否使用客户端缓存

 

Cookie和Session

Cookie是存储的key-value字对,它是由服务器将Cookie添加到response里并一起返回给客户端,然后客户端会自动把response里的cookie接收下来,并且保存到本地,下一次发起请求的时候,就会把cookie附加到request里,服务器再根据request里的cookie遍历搜索是否有符合的信息

在web开发中,服务器会为每一个用户浏览器创建一个会话对象,在需要保存用户数据的时候,服务器程序可以把用户数据写入到session中

区别:

1. session存储在服务器中,cookie存储在客户端中

2. session中可以放置对象,如文件等,而cookie之恩呢保存字符串

3. session的实现需要结束cookie,session-id存储在cookie中返回,如果客户端完全禁止cookie,则session也会完全失效

参考博客:https://blog.csdn.net/qq_34495772/article/details/80525966

(1) HTTP超文本传输协议用于定义web页面(超文本)在网络上的交互方式的应用层协议,使用客户/服务器的工作方式。HTTP协议定义了web客户端(浏览器)如何向web站点请求web网页以及web服务器如何将web页传送给客户机。当用户请求一个页面时,浏览器会向web服务器发出对该页及其引用的相关对象的HTTP请求报文,服务器响应这些请求报文,生成HTTP响应报文,并将请求的对象附在HTTP响应报文后发送给客户端。 (2) 由于网页文档的传输需要可靠性的保证,所以HTTP协议使用TCP协议,TCP协议是一个面向连接的协议,在通信时需要建立连接,通信结束要释放连接,TCP建立连接时需要三次握手,提供可靠的数据传输,HTTP协议默认端口为80. (3) HTTP协议包括HTTP1.0:RFC1945和HTTP1.1:RFC 2068.HTTP1.1兼容HTTP1.0。HTTP1.0是采用非持续连接和非流水线作业方式,而HTTP1.1采用持续连接和流水线作业方式。 (4) Web缓存的进一步讨论,保证web缓存代理服务器缓存页面能够和web服务器的最新页面一致的方法。 (5) HTTP协议的无状态性:服务器无法通过HTTP协议记录用户的登录信息。使用Cookie保存信息。 (1) 打开wireshark开始抓包,然后上网至江西师大教务在线网(www.jxnu.edu.cn),连接后停止(stop)抓包。设置过滤规则:udp.port==53||tcp.port==80.(HTTP协议默认使用传输层TCP协议的80端口),考虑到我的电脑未能连网,所以选择老师抓好的包做实验分析。 (2) 分析HTTP协议报文。 (2) 第一阶段:TCP建立连接阶段。第三帧是web客户端(即浏览器,源IP地址为192.168.0.250)发给web服务器端(目标IP地址为218.65.113.46)的TCP连接的第一次握手(SYN)。第四帧是web服务器端与web客户端的TCP连接的第二次握手(SYN,ACK)。第五帧是浏览器与web服务器的TCP连接的第三次握手(ACK),此时TCP连接建立。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值