当前位置: 首页 > wzjs >正文

做水晶接单在哪个网站接商城网站前台html模板

做水晶接单在哪个网站接,商城网站前台html模板,企业oa系统下载,哈尔滨网页制作费用http协议 一,再谈协议1.1 例子1.1 序列和反序列化 二,预备知识2.1 认识url2.2 urlencode和urldecode 三,http协议3.1 http报文格式3.2 post和get3.3 状态码3.4 cookie和session3.5 常见header 四,总结 一,再谈协议 1.…

http协议

  • 一,再谈协议
    • 1.1 例子
    • 1.1 序列和反序列化
  • 二,预备知识
    • 2.1 认识url
    • 2.2 urlencode和urldecode
  • 三,http协议
    • 3.1 http报文格式
    • 3.2 post和get
    • 3.3 状态码
    • 3.4 cookie和session
    • 3.5 常见header
  • 四,总结

一,再谈协议

1.1 例子

假设们要实现一个网络聊天,那么我们聊天时要知道双方的昵称,和发消息的时间和消息内容,显然我们不可能把这三个信息去逐个发送,所以我们要将这三个信息整和为一条消息去发送,所以就要有结构化字段来打包这三个信息。
在这里插入图片描述

协议其实就是结构化字段,通信的双方通过把要发送的数据存在结构化字段中,然后双方在应用层都认识这个结构化字段,从而取出结构化字段中有效字段,就可以达到互相通信

1.1 序列和反序列化

那么在网络传输中我们不会直接发送这种结构化字段,而是在应用层将结构化字段进行序列化为一个字节流进行发送,同时接收时将这个字节流再进行反序列化为结构化字段

  • 序列化:将协议对应的结构化数据转成字节流(字符串)
  • 反序列化:将字节流成结构化数据

为什么要序列和反序列化?

  • 序列化是为了方便发送
  • 反序列化是为了方便上层业务提取有效字段
  • 通信双方的操作系统和语言可能不一样,所以就要在应用层屏蔽不同平台的差异
  • 应用层的变化非常多,所以需要比较好扩展的

二,预备知识

在http这里我们不用再去写客户端,而是用浏览器作为客户端,通过url访问我们的server,得到响应后浏览器再为我们显示出来

2.1 认识url

url就是访问浏览器时的网址
在这里插入图片描述

2.2 urlencode和urldecode

/ ? :等这样的字符, 已经被url当做特殊意义理解了. 因此这些字符不能随意出现。比如, 某个参数中需要带有这些特殊字符, 就必须先对特殊字符进行转义

例子:我们在访问浏览器时输入/?后,url会是这样
在这里插入图片描述
/? 被转为了 %2F%3Furldecode就是urlencode的逆过程

三,http协议

虽然应用层协议是我们程序猿自己定的,但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输协议)就是其中之一

3.1 http报文格式

http是以行为单位的,首先,http底层用的是tcp,所以无论http协议有多少行,在tcp看来http请求都是一行字符串,http中的换行只是/r/n,http反序列化时将/r/n再打散为多行即可。


http请求报文格式
在这里插入图片描述

如何一个协议都要解决下面几个问题,我们来看http是如何解决的:
1.http如何保证读到的是一个完整报文?
可以保证的是能够读完请求报头

  • 一直读取直到读到空行
  • 请求报头中,Content-length表明正文的长度,有正文就读取

2.http如何反序列化?

根据/r/n进行反序列化

3.报头和有效载荷如何分离?

空行进行分离


http响应报文格式

在这里插入图片描述

为什么请求和响应都要有http版本?
是为了双方交换版本信息,请求中的版本表示浏览器支持的版本,响应中的版本表示server支持的版本

注:我们可以使用一些抓包工具:fiddler或者telnet,来抓取http请求来看看请求和响应的内容


web根目录

  • 当我们在访问一个网址时,没有输入指定的资源路径,而是直接访问/,web根目录时,其实我们默认访问的是该网站的首页,一般是index.html,所以服务器会将 /转换为/index.html

  • 其次,我们将要被访问的资源存放在web根目录下,访问时通过url中添加请求资源的路径来获取资源:
    在这里插入图片描述
    这个wwwroot其实就是web根目录


Content-Type

  • 我们通过http请求的资源其实都是文件,那么资源就都有后缀,后缀决定了文件的类型
  • http给浏览器响应的时候,响应正文是什么内容可以根据资源文件后缀来判断出来
  • http可以支持任意内容的发送,根据响应的content-type来准确解析内容

我们在用http进行访问资源时,如果我们的网页中有图片等资源,那么我们在访问这个页面时可能会发起多个http请求

在这里插入图片描述

3.2 post和get

我们的上网行为有两种:

  • 获取资源
  • 向服务器传参,比如登录,注册,搜索

那么上传有两种方法:Get和Post
同时结合表单来进行上传,表单默认是Get方法

<form action="/dira/log.html" method="post">First name:<br><input type="text" name="myname" value="鸡你太美"><br>Last name:<br><input type="password" name="mypasswd" value=""><br><br><input type="submit" value="登录">
</form>

在这里插入图片描述

点击登录后,我们填的字段就会上传给服务器,不一样的是如果是Get方法,那么我们填的字段会显示在请求url后面,如果是Post方法,填写的字段在请求正文中,不会显示在url中

http的请求方法有以下:
在这里插入图片描述
用的最多的就是Get和Post:

  • Get:通常用来获取资源,也可以上传数据,提交的参数会加在浏览器的url后面,字节个数有限制
  • Post:上传数据,请求参数会加在请求报文的正文部分

3.3 状态码

状态码是HTTP 协议的一部分,状态码用于表示请求的结果,当客户端(通常是浏览器)向服务器发送一个 HTTP 请求时,服务器会返回一个 HTTP 响应,其中包含一个状态码来表明请求的结果。状态码是一个三位数字的代码,分为五个类别,每个类别都以不同的数字开头

在这里插入图片描述

  • 4开头表示客户端发起的请求有问题,服务器无法解析

  • 3开头表示请求还要进一步操作才可以完成,也就是将这个网页重定向到其他网页
    例如:307临时重定向
    在这里插入图片描述
    重定向可以让用户跳转到目标网页

    301永久重定向
    用于搜索引擎更新网址的信息

3.4 cookie和session

我们要知道,http是

  • 无连接的,虽然底层tcp是有连接的
  • 无状态的,浏览器不会记录是否已经访问过哪个资源

在这里插入图片描述

当用户登录某个网站时,浏览器会记录下曾经登录的信息,这些信息保存在请求报头的 cookie 中,当再次访问网站时,会自动认证登录。
cookie分为

  • 文件级:关闭浏览器后再次打开,登录信息还在
  • 内存级:关闭后再打开,登录信息不在

cookie的信息都保存在客户端,当用户的cookie信息被抓包后会有泄漏的风险
所以当用户第一次登录时,用户的登录信息会在服务端session保存一份,形成唯一的sessionid,发送给客户端
当客户端再次登录时,会向服务器提交sessionid,再在服务端确认得到登录信息
在这里插入图片描述

但是这样虽然防止了登录信息不会泄漏,但是还是有抓包后,别人登录我们账号的可能。
我们可以在服务端设置安全策略,比如:检测ip地址,设置sessionid的有效时长等来保护

3.5 常见header

  • Content-Type: 数据类型(text/html等)
  • Content-Length: Body的长度
  • Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上;
  • User-Agent: 声明用户的操作系统和浏览器版本信息;
  • referer: 当前页面是从哪个页面跳转过来的;
  • location: 搭配3xx状态码使用, 告诉客户端接下来要去哪里访问;
  • Cookie: 用于在客户端存储少量信息. 通常用于实现会话(session)的功能;

四,总结

http作为应用层的一个重要的协议,还是要深刻理解,因为很多协议也是在http基础上改造来的,下面是我写的简单的http服务器例子,大家可以看一下:

简单http服务器


文章转载自:

http://XbKyGXmf.bfgpn.cn
http://wJ3NPr5S.bfgpn.cn
http://rC14vkyk.bfgpn.cn
http://uqnkr3Lp.bfgpn.cn
http://B2YNLC6M.bfgpn.cn
http://5uJMV60y.bfgpn.cn
http://59Ihpads.bfgpn.cn
http://9qlMkZzE.bfgpn.cn
http://q5whnV1f.bfgpn.cn
http://Cp3pqaMf.bfgpn.cn
http://lOrPqlFo.bfgpn.cn
http://7678JKVQ.bfgpn.cn
http://WuRcvXra.bfgpn.cn
http://o5IIgGhb.bfgpn.cn
http://qIwNn6yk.bfgpn.cn
http://tH64oRQQ.bfgpn.cn
http://ax3WQTlr.bfgpn.cn
http://pzqGi3YY.bfgpn.cn
http://UUef1ZaZ.bfgpn.cn
http://sdnAlFfg.bfgpn.cn
http://y6pXHmOQ.bfgpn.cn
http://6ZF30sVO.bfgpn.cn
http://3JRbmMdG.bfgpn.cn
http://d4x3saxG.bfgpn.cn
http://J1a89k8u.bfgpn.cn
http://i8392OAc.bfgpn.cn
http://A1KoubH3.bfgpn.cn
http://r5kh8W15.bfgpn.cn
http://ZTcQ0E2H.bfgpn.cn
http://NQdrtDYo.bfgpn.cn
http://www.dtcms.com/wzjs/671436.html

相关文章:

  • 轴承外贸网站怎么做广西建设网注册中心
  • 简单个人网站源码wordpress 微信图标
  • 网站建设规划书实训报告威海屋顶防水价格威海做防水网站
  • 门户网站开发 价格wordpress 调用单页
  • 绵阳网站建设哪家好长春开发小程序开发
  • 电子商务网站建设与管理 教案网站建设 职责
  • 深圳电梯广告制作公司网站网站改版阿里云怎么做网站301定向
  • 中国工程建筑门户网站官网mvc net跳转到另一网站
  • 哪个网站可以做图片链接Wordpress会员插件推荐
  • 搭建网上商城seo推广哪家好
  • php网站开发技术 pdf重庆网站建设 cqhtwl
  • 成都网站建设企业预约做家庭清洁的网站
  • 如何自己网站接装修生意做做调查问卷换赏金的网站
  • 做个网站成功案例dreamware怎么做网站
  • 咸阳网站建设推广新网站怎样做外链
  • 衡水移动网站建设价格中国建设监理网站
  • 网站设计策划书案例湘潭做网站 用户多磐石网络
  • 免费wap网站推荐wordpress 图片链接
  • 具体的网站建设方案百度搜索引擎优化的推广计划
  • 预登记网站开发 会议住房建设官方网站
  • 宁波网站关键词优化排名小程序源码网免费
  • 汕头网站建设设计价格淘宝商家网站建设
  • 万网个人网站怎么备案专业郑州做网站的公司
  • 上海单位网站建设宁德市医院
  • 做服装哪个网站图片多建筑人才网评职称
  • 庞各庄网站建设wordpress自定义模块自定义字段
  • 德惠市建设局网站wordpress图文调用
  • 基于html5的购物网站开发品牌建设交流会讲话
  • 成都小程序开发公司郑州见效果付费优化公司
  • 网站建设五年发展规划太原小程序制作