关于Http协议、ASP.NET 核心知识(2)

简介HTTP

(对于http协议的描述我前部分有写,但基于保证文档独立完整性的原则,我再写一遍。反正又不花钱。)

这货的学名叫:超文本传输协议

英文名字:(HTTP,HyperText Transfer Protocol)

他是互联网上应用最为广泛的一种网络协议。http协议定义了浏览器如何向网络服务器请求文档,以及服务器怎样把文档传送给浏览器。 可以这样说嘛?网站就是活在http协议上的。所以对于ASP.NET开发人员来说,这部分内容,是必须了解的。

HTTP协议的特点

这部分内容是我认为的,万一不对请马上指出来。

1.请求/响应式

http协议是请求/响应式的。没有请求就木有响应。

也就是说客户看到的页面,都是根据客户的请求返回的。

2.面向文本

http是面向文本的,他的请求报文是文本,响应报文也是文本。

报文中的每一个字段都是一些ASCII码串,所以各个字段的长度不确定。

3.http报文种类

http报文总共就有两类,请求报文、响应报文。

1)请求报文

2)响应报文

4.http报文结构

无论是请求报文,还是响应报文,都可以划分为三部分。

1)开始行

2)首部行

我的习惯是把上面的的两部分叫,报文头。下面这部分叫报文体。(也不知掉对不对)

3)实际主体

HTTP工作原理图

请求报文

1.请求报文长什么样? 

Chrome核心的请求报文

2.报文结构

3.报文头部每个字段的意义

//从开发者工具上复制的东西

GET /index.php HTTP/1.1

Host: www.baidu.com

Connection: keep-alive

Cache-Control: no-cache

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Pragma: no-cache

User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.3.4000 Chrome/30.0.1599.101 Safari/537.36

Accept-Encoding: gzip,deflate

Accept-Language: zh-CN

Cookie: BDUSS=I4NXZWWTZ

响应报文

1.响应报文长什么样? 

Chrome核心浏览器响应报文。

2.报文结构

3.报文头部每个字段的意义

4.响应码

1)常用响应码表。


2 0 0

2 0 1

2 0 2

2 0 4


O K,请求成功

O K,新的资源建立( p o s t命令)

请求被接受,但处理未完成

O K,但没有内容返回


3 0 1

3 0 2

3 0 4


所请求的资源已被指派为新的固定U R L

所请求的资源临时位于另外的U R L

文档没有修改(条件G E T )


4 0 0

4 0 1

4 0 3

4 0 4


错误的请求

未被授权;该请求要求用户认证

不明原因的禁止

没有找到


5 0 0

5 0 1

5 0 2

5 0 3


内部服务器差错

没有实现

错误的网关;网关或上游服务器来的无效响应

服务暂时失效

2)规律性总结

http响应报文的响应码,看起来很多很杂,不好记。其实只要记住一个规律就好。

响应码   2xx系列   表示成功了。

响应码   3xx系列   表示重定向

响应码   4xx系列   表示浏览器端错误请求

响应码   5xx系列   表示服务器端的错误。

写完感言

看了这篇文章呢,其实也不算文章吧。我就整理标注了一下数据。

东西不少,其实不需要全部记住。脑子有个概念,知道http传输的是文本,他是请求/响应式的。

再记住几个常用的http报文头,响应报文状态码,就万事大吉了。

时间: 2024-08-12 22:00:41

关于Http协议、ASP.NET 核心知识(2)的相关文章

网络基础知识、ASP.NET 核心知识(1)*

为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发人员,你所开发的软件产品最终是要在网络上运行的.这就像一个生产商,要生产供给东北地区的产品,而生产商对东北的天气.地理.人文毫无了解.生产商的产品肯定是不可用的,或者低端的!产品质量不好,那是自然的.产品质量好,那算你点儿高.那么作为ASP.NET开发人员,如果一点不懂http协议.不晓得Ajax.

关于Http协议、ASP.NET 核心知识(2)--转载

原文链接:http://www.cnblogs.com/mcad/ HTTP工作原理图 请求报文 1.请求报文长什么样?  Chrome核心的请求报文 2.报文结构 3.报文头部每个字段的意义 //从开发者工具上复制的东西 GET /index.php HTTP/1.1 Host: www.baidu.com Connection: keep-alive Cache-Control: no-cache Accept: text/html,application/xhtml+xml,applica

网络基础知识、ASP.NET 核心知识(1)--转载

为什么要写网络? 作为网站开发人员,你所开发的软件产品最终是要在网络上运行的.这就像一个生产商,要生产供给东北地区的产品,而生产商对东北的天气.地理.人文毫无了解.生产商的产品肯定是不可用的,或者低端的!产品质量不好,那是自然的.产品质量好,那算你点儿高.那么作为ASP.NET开发人员,如果一点不懂http协议.不晓得Ajax.甚至根本不了解JavaScript,效果也是一样的.总之,丰富的知识储备,会为你的软件产品带来更多的品质保障.我们要了解的主要是HTTP协议 关于体系结构 1.OSI.T

ASP.NET内核几大对象、ASP.NET核心知识(6)

描述 其实今天的博文,是一般处理程序的后续部分,理论上应该叫一般处理程序(2).但是觉得文章标题后面的系列名已经有个数字,再加一个2有点怪. 这篇博文主要介绍一下几个对象. 1)HttpContext 2)HttpRequest 3)HttpResponse 4)context. Server HttpContext 1.描述 和本次请求相关对象的一个上下文对象,一般通过它获取其他对象. 2.截图 3.对HttpContext.Current的说明 在HttpHandler的ProcessReq

写一个简易web服务器、ASP.NET核心知识(4)

前言 昨天尝试了,基于对http协议的探究,我们用控制台写了一个简单的浏览器.尽管浏览器很low,但是对于http协议有个更好的理解. 说了上面这一段,诸位猜到我要干嘛了吗?(其实不用猜哈,标题里都有,又都不瞎...我就是调侃一下,说些没营养的笑话.我认为这样能不那么枯燥,尽管不好笑吧,但这不重要!) 没错,今天要尝试的东西,是自己写一个web服务器.初衷依旧和昨天一样,旨在理解一些东西,而不是真的写出一个多牛的东西. 第一次尝试(V1.0) 1.理论支持 其实关于http协议的理论方面我在<写

写一个简易浏览器、ASP.NET核心知识(3)

前言 先在文章前面说好了,省得大家发现我根本没有这样的头发,duang的一下一堆人骂我. 这篇文章的标题有点大,其实挺low的,我需要在开头解释一下.我这里只想写一个小的控制台,旨在模拟浏览器的http通信. 不是真的能用的浏览器. 简单的说,今天的全部工作就是 建立Socket→发送请求报文→ 服务器返回报文→显示报文.仅此而已喏. 实话说出来,是不是一下就low了? 我的目的只有两个. 1.加深对http协议的理解   2.深化对B/S结构的认识. 如果您已经非常了解这些东西了.那就甭搭理我

ASP.NET内核几大对象、ASP.NET核心知识(7)--转载

本文的学习流程是这样安排的. 一个简单的GDI小案例 1.说明 如果你想思考如何生成验证码,那么您第一个要解决的问题,一定是.NET动态生成图片问题. //GDI:.Net程序中进行绘图的一些类. 2.代码 1 //这段代码开始前,要添加System.Drawing的引用. 2 //创建一个尺寸为500*500的内存图片 3 using (Bitmap bmp = new Bitmap(500, 500)) 4 //得到图片的画布 5 using (Graphics g = Graphics.F

开发技术--Python核心知识A

开发|Python核心知识A A篇,主要介绍Python基础中列表,元祖,字典,集合,字符串,I/O,条件与循环,异常处理的底层知识与使用的注意事项. 希望大家对于Python会有新的收获,本篇不同于之前的浅谈Python基础知识,会更加的深入,但是在深入的同时,涉及更多内容,需要自行看源码,着重点我会标明. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知识点的描述.力求不含任何的自我感情色彩. 情感:用我自己的方式,解读知识点.力求通俗易懂,完美透析知识. 正文 由于本文不

[转帖]一文读懂分布式架构知识体系(内含超全核心知识大图)

一文读懂分布式架构知识体系(内含超全核心知识大图) https://yq.aliyun.com/articles/721007?spm=a2c4e.11153959.0.0.2f464977X7lSdH 作者 | 晓土  阿里巴巴高级工程师 姊妹篇阅读推荐:<云原生时代,分布式系统设计必备知识图谱(内含22个知识点)> 导读:本文力求从分布式基础理论.架构设计模式.工程应用.部署运维.业界方案这几大方面,介绍基于 MSA(微服务架构)的分布式知识体系大纲,从而对 SOA 到 MSA 进化有着立