http协议的一些内容记录

HTTP协议的官方定义进行归纳,得出4个关键点:

1.HTTP是建立在tcp/ip协议之上,面向应用层的超文本传输协议。

2.它由请求和响应组成,完全符合标准的客户端服务器的请求响应模型。

3.协议很轻便简单,并且请求与请求之间没有关联,是无状态的协议。

4.为了弥补这种无状态就需要使用http协议的扩展cookie,session等方法建立关联。

标准的http协议指的是不包含session,cookie是,application的http协议(无状态)。

之所以说是无状态,服务器上肯定会有用户的数据,这里的状态不是指用户的数据,无状态是指没有对本次会话设置一个缓存区,记录本次会话的状态。缓存区包括服务端和客户端,这个状态就是在临时会话中产生的数据(实现这些东西所凭借后面的缓存空间中的客户的临时数据)

更详细解释可以跳转:https://www.cnblogs.com/bellkosmos/p/5237146.html

http请求报文的header属性中,Transport头域中有个Connection:keep-Alive的

Connection:keep-alive:当一个网页打开完成后,客户端和服务器之间用于传输http数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

Connection:close:代表一个request完成后,客户端和服务器之间用于传输http数据的TCP连接会关闭,再次发送request时,需要重新建立TCP连接

Ps:从http/1.1开始,默认都开启了keep-alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输http数据的TCP连接不会被关闭。但keep-alive不会永久保留连接,他有一个保持时间,可以在不同的服务器软件中设定这个时间。

!!!看到这个http请求headers中的Connection:keep-Alive,会想到http协议不是无状态的吗,但是这个keep-alive是保持连接的意思啊?不要混淆。

答:http的无状态和Connection:keep-Alive是两个不同的概念。无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态,另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页是完全没关系的。http是一个无状态的,面向连接的协议,无状态不代表http不能保持TCP连接,更不能代表http使用的是无连接的UDP协议。

Cookie在http协议中的运用

http协议中与cookie相关的属性:

①cookie:客户端将服务器设置的cookie返回到服务器

②set-cookie:服务器向客户端设置cookie

服务器在响应消息中用set-cookie头将cookie的内容回送到客户端,客户端在新的请求中将相同的内容携带在cookie头中发送给服务器,从而实现会话的保持。

Session在http协议中的运用

当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含一个session标识,称为sessionID。如果已包含,则说明以前已经为此客户端创建过session,服务器就按照sessionID把这个session检索出来使用(如果检索不到,则会新建一个),如果客户端不包含sessionID,则为此客户端创建一个session,并且生成一个与此session相关联的sessionId.sessionID的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个sessionID将被在本次响应中返回到客户端保存。

Session有两种实现方式:

①使用cookie来实现

服务器给每个session分配一个唯一的JSESSIONID,并通过cookie发送给客户端

当客户端发起新的请求的时候,将在cookie头中携带这个JSESSIONID.这样服务器能够找到这个客户端对应的session.

②使用url回写来实现

url回写是指服务器在发送给浏览器页面的所有连接中都携带JSESSIONID的参数,这样客户端点击任何一个链接都会把JSESSIONID带回服务器.

Token在http协议中的运用

运用token,服务器就不用再保存Session ID,只负责生成Token,然后验证Token.Token的传递通常被放在cookie中,如果客户端不支持cookie,token也可以放置在请求头中.和cookie一样,为了数据的安全性,token中不应该放如密码等敏感信息.

原文地址:https://www.cnblogs.com/kingxyt06/p/11657430.html

时间: 2024-10-30 01:28:12

http协议的一些内容记录的相关文章

struts2,json,ajax整合内容记录

使用ssh三大框架整合时关于struts2,json,ajax整合内容记录.这里写主要部分代码 action部分: 注意事项,action部分的返回值要有set和get方法,否则会报错. package com.hcj.action; import net.sf.json.JSONObject; import com.hcj.dto.User; import com.hcj.service.UserService; import com.opensymphony.xwork2.ActionSup

TCP/IP 协议详解内容总结

TCP/IP 协议详解内容总结 TCP/IP协议 TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. http://blog.jobbole.com/91841/

2017-2018-1 20155235 实验五 通讯协议设计 实验内容

2017-2018-1 20155235 实验五 通讯协议设计 实验内容 一.安装OpenSSL 二.通过混合密码系统进行防护 实验步骤 一.安装OpenSSL 在Ubuntu中完成 http://www.cnblogs.com/rocedu/p/5087623.html 中的作业 提交运行结果截图 在运行中出现了一些问题,会在下面的测试中遇到的问题详解 二.通过混合密码系统进行防护 在Ubuntu中实现对实验二中的"wc服务器"通过混合密码系统进行防护 提交测试截图) 实验流程 在虚

Cs231n课堂内容记录-Lecture3

Lecture 3 课程内容记录:(上)https://zhuanlan.zhihu.com/p/20918580?refer=intelligentunit (中)https://zhuanlan.zhihu.com/p/20945670?refer=intelligentunit (下)https://zhuanlan.zhihu.com/p/21102293?refer=intelligentunit 1.线性分类器(linear classifer): 我们总是希望得到一个函数f(x,w

Cs231n课堂内容记录-Lecture 6 神经网络一

Lecture 6 神经网络一 课程内容记录: (上)https://zhuanlan.zhihu.com/p/21462488?refer=intelligentunit (下)https://zhuanlan.zhihu.com/p/21513367?refer=intelligentunit 1.视频弹幕中关于课堂例子的解释: 1:我们通过学习训练集得到权重W1,对应于可以识别一些feature的模板. 2:输入新的数据X,结合W1,计算得到一个得分score(中间过程可能会再经过一些非线

Cs231n课堂内容记录-Lecture 7 神经网络二

Lecture 7 神经网络二 课程内容记录:https://zhuanlan.zhihu.com/p/21560667?refer=intelligentunit 1.协方差矩阵: 协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差.而方差是协方差的一种特殊情况,即当两个变量是相同的情况. 协方差表示的是两个变量的总体的误差,这与只表示一个变量误差的方差不同. 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间

TCP协议缺陷不完全记录

原文转自:http://itindex.net/detail/53400-tcp-%E5%AE%8C%E5%85%A8 零.前言 TCP自从1974年被发明出来之后,历经30多年发展,目前成为最重要的互联网基础协议.有线网络环境下,TCP表现的如虎添翼,但在移动互联网和物联网环境下,稍微表现得略有不足. 移动互联网突出特性不稳定:信号不稳定,网络连接不稳定.虽然目前发展到4G,手机网络带宽有所增强,但因其流动特性,信号也不是那么稳定:坐长途公交车,或搭乘城铁时,或周边上网密集时等环境,现实环境很

C# Po3协议读取邮件内容遇到的问题

背景:最近在做一个小工具,读取PO3协议邮件服务器的指定人员的邮件,东西做出来了,弄了一个While死循环,20秒执行一次, 结果运行了3天,周一来IT人员找上门来了,你的电脑什么情况,怎么一个小时下载流量达到1个G多,而且都是PO3协议的,哈哈,哈哈 心理很想呵呵,但是还得如实跟他解释了一下情况,然后立刻把程序停止了. 接下来我就是找问题啦,最后找到了原因是因为我每次都是循环读取邮箱中的180条邮件,这180条中还有好多有几十兆附件的,哈哈 解决办法和问题原因: 问题就出现这循环读取以及读取过

TCP/IP协议详解内容总结

TCP/IP协议 TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. TCP/IP分层: 这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为网络号+子网号+主机号 域名系统:通俗的来说,就是一个数据库,可以将主机名转换成IP地址 RFC:TCP/IP协议的标准文档 端口号:一个逻辑号码,IP包所带有的标记 Socket:应用编程接口 数据链路层的工作特性: 为IP模块发送和接收IP数据报 为ARP模块发送ARP请求和接收ARP应答(ARP: