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

白沟网站开发自己如何做一个网站

白沟网站开发,自己如何做一个网站,wordpress 代码高亮插件,咨询手机网站建设平台目录 1.HTTP 1.1HTTP是什么 1.2理解“应用层协议” 1.3理解HTTP协议的工作过程 2.HTTP协议格式 2.1抓包工具的使用 2.2抓包工具的原理 2.3抓包结果 3.协议格式总结 1.HTTP 1.1HTTP是什么 HTTP(全称为“超文本传输协议”)是一种应用非常广泛的应…

目录

1.HTTP

1.1HTTP是什么

1.2理解“应用层协议”

1.3理解HTTP协议的工作过程

2.HTTP协议格式

2.1抓包工具的使用

2.2抓包工具的原理

2.3抓包结果

3.协议格式总结


1.HTTP

1.1HTTP是什么

HTTP(全称为“超文本传输协议”)是一种应用非常广泛的应用层协议。

HTTP往往是基于传输层的TCP协议实现的。(HTTP1.0,HTTP1.1,HTTP2.0均为TCP,HTTP3基于UDP实现)

目前我们使用的还是HTTP1.1和HTTP2.0。

当我们在浏览器中输入一个搜狗搜索的“网址”(URL)时,浏览器就给搜狗的服务器发送了一个HTTP请求,搜狗的服务器返回了一个HTTP响应。

这个响应结果被浏览器解析之后,就展示成我们看到的页面内容。(这个过程中浏览器可能会给服务器发送多个HTTP请求,服务器会对应返回多个响应,这些响应里就包含了页面HTML,CSS,JavaScript,图片,字体等信息)。

所谓“超文本”的含义,就是传输的内容不仅仅是文本(比如html,css这个就是文本),还可以是一些其他的资源,比如图片,视频,音频等二进制的数据。

1.2理解“应用层协议”

我们已经学过TCP/IP,已经知道目前数据能从客户端进程经过路径选择跨网络传送到服务器进程(IP+Port)

所以,我们把数据从A端传送到B端,TCP/IP解决的是顺丰的功能,而两端还要对数据进行加工处或使用,所以我们还需要一层协议,不关心通信细节,关心应用细节!

这层协议叫做应用层协议。而应用是有不同的场景的,所以应用层协议是不同的种类的,其中经典协议之一的HTTP就是其中的佼佼者。

1.3理解HTTP协议的工作过程

当我们在浏览器中输入一个“网址”,此时浏览器就会给对应的服务器发送一个HTTP请求,对方服务器收到这个请求之后,经过计算处理,就会返回一个HTTP响应。

事实上,当我们访问一个网站的时候,可能涉及不止一次的HTTP请求/响应的交互过程。

可以通过Chrome的开发者工具观察到这个详细的过程。

通过F12打开chrome的开发者工具,切换到Network标签页,然后刷新页面即可看到如下图效果。一条记录都是一次HTTP请求/响应。

注意:当前搜狗主页是通过HTTPS来进行通信的。https是在http基础之上做了一个加密解密的工作

2.HTTP协议格式

HTTP是一个文本格式的协议,可以通过Chrome开发者工具或者FIddler抓包,分析HTTP请求/响应的细节。

2.1抓包工具的使用

以Fiddler为例(下载地址:https://www.telerik.com/fiddler/)

安装过程比较简单,一路next即可。

  • 左侧窗口显示了所有的HTTP请求/响应,可以选中某个请求查看详情。
  • 右侧上方显示了HTTP请求的报文内容。(切换到Raw标签页可以看到详细的数据格式)
  • 右侧下方显示了HTTP响应的报文内容。(切换到Raw标签页可以看到详细的数据格式)
  • 请求和响应的详细数据,可以通过右下角的View in Notepad通过记事本打开。

可以使用ctrl+a全选左侧的抓包结果,delete键清楚所有被选中的结果。

2.2抓包工具的原理

Fiddler相当于一个“代理”

浏览器访问sougou.com时,就会把HTTP请求发给Fiddler,Fiddler再把请求转发给sogou的服务器,当sogou服务器返回数据时,Fiddler拿到返回数据,再把数据交给浏览器。

因此,Fiddler对于浏览器和sogou服务器之间交互的数据细节,都是非常清楚的。

2.3抓包结果

以下是一个HTTP请求/响应的抓包结果

HTTP请求

  • 首行:方法+url+版本
  • Header:请求的属性,冒号分隔的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束。
  • Body:空行后面的内容都是Body。Body允许为空字符串。如果Body存在,则在header会有一个Content-Length属性来标识Body的长度。

HTTP响应

  • 首行:版本号+状态码+状态码解释
  • Header:请求的属性,冒号分隔的键值对,每组属性之间使用\n分隔;遇到空行表示Header部分结束。
  • Body:空行后面的内容都是Body。Body允许为空字符串。如果Body存在,则在Header中会有一个Content-Length属性来标识Body的长度;如果服务器返回一个html页面,那么html页面内容就是body中。

3.协议格式总结

思考问题:为什么HTTP报文中要存在“空行”?

因为HTTP协议并没有规定报头部分的键值对有多少个,空行就相当于是“报头的结束标记”,或者是“报头和正文之间的分隔符”。

HTTP在传输层依赖TCP协议,TCP是面向字节流的。如果没有这个空行,就会出现“粘包问题”。

http://www.hkea.cn/news/709318/

相关文章:

  • 网站制作佛山crm管理系统
  • 网站综合营销方案设计网页设计教程
  • 东莞做网站制作宁波技术好的企业网站制作
  • 广州做网站公司哪家好如何注册一个网站
  • 网站备案协议书互联网营销师证书含金量
  • 广州企业网站建设报价免费推广网站大全
  • 宁波网站排名怎么提交网址让百度收录
  • 杭州 手机网站建设活动营销
  • 加网络网站建设工作室做一个企业网站大概需要多少钱
  • 张家港优化网站seo百度网盘下载
  • 烟台有没有做网站网站安全
  • 网站建设与制作设计公司惠州seo代理商
  • 东营新闻网今日头条常州网站seo
  • 东莞全网合一网站黄页引流推广网站软件免费
  • wordpress的数据库在那里百度seo如何快速排名
  • wordpress手机客服代码免费seo快速排名工具
  • web网站开发作品关键词歌词图片
  • 汕头行业网站seo培训公司
  • 网站背景图片优化关键词歌曲免费听
  • 郑州做网站哪家专业我要发布信息
  • 西安做网站优化的公司石家庄seo按天扣费
  • 2022年西安封城通知自动app优化下载
  • 无锡做网站哪家公司好一个公司可以做几个百度推广
  • 专题网站建设工作关键词林俊杰无损下载
  • adobe 网站开发软件软文写作兼职
  • 英文网站建设 淮安免费培训网站
  • 隔离需要多少钱湖南网站seo找行者seo
  • wordpress简单企业站seo怎么刷排名
  • 网站建设与运维泉州全网推广
  • 网站建站哪个公司好一点营销咨询服务