关于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报文头,响应报文状态码,就万事大吉了。
关于Http协议、ASP.NET 核心知识(2)的更多相关文章
- Cookie详解、ASP.NET核心知识(7)
无状态的http协议 1.回顾http协议 Http协议是请求响应式的,有请求才有响应,是无状态的,不会记得上次和网页“发生了什么”. 关于http协议的这种特点,黑兔在前面的这三篇博文中进行了详细的 ...
- 网络基础知识、ASP.NET 核心知识(1)*
为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...
- 让页面无刷新的AJAX、ASP.NET核心知识(9)
AJAX简介 1.如果没有AJAX 普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,如果没有ajax,在youku看视频的过程中,就没法提交评论,页面会刷新,视频会被打断. 2.说说AJ ...
- Session详解、ASP.NET核心知识(8)
介绍一下Session 1.作用 Cookie是存在客户端,Session是存在服务器端,目的是一样的:保存和当前客户端相关的数据(当前网站的任何一个页面都能取到Session). 在本篇博文的姊妹篇 ...
- ASP.NET内核几大对象、ASP.NET核心知识(6)--转载
这篇博文主要介绍一下几个对象. 1)HttpContext 2)HttpRequest 3)HttpResponse 4)context. Server 5)context.Session HttpC ...
- ASP.NET内核几大对象、ASP.NET核心知识(6)
描述 其实今天的博文,是一般处理程序的后续部分,理论上应该叫一般处理程序().但是觉得文章标题后面的系列名已经有个数字,再加一个2有点怪. 这篇博文主要介绍一下几个对象. )HttpContext ) ...
- 地位尴尬的WebForm、ASP.NET核心知识(10)
WebForm之烦恼 1.winform式的开发方式 WebForm的开发方式中,只需要从工具箱中拖拽一个控件,再从.aspx.cs中写控件的事件逻辑,就好了. 微软为我们做了很多工作,很多东西不需要 ...
- 写一个简易web服务器、ASP.NET核心知识(4)
前言 昨天尝试了,基于对http协议的探究,我们用控制台写了一个简单的浏览器.尽管浏览器很low,但是对于http协议有个更好的理解. 说了上面这一段,诸位猜到我要干嘛了吗?(其实不用猜哈,标题里都有 ...
- 写一个简易浏览器、ASP.NET核心知识(3)
前言 先在文章前面说好了,省得大家发现我根本没有这样的头发,duang的一下一堆人骂我. 这篇文章的标题有点大,其实挺low的,我需要在开头解释一下.我这里只想写一个小的控制台,旨在模拟浏览器的htt ...
随机推荐
- lintcode-392-打劫房屋
392-打劫房屋 假设你是一个专业的窃贼,准备沿着一条街打劫房屋.每个房子都存放着特定金额的钱.你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自 ...
- Myeclipse错误:Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project ...解决方法
解决办法:1.首先关闭MyEclipse工作空间.2.然后删除工作空间下的“/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.gen ...
- C语言语法树
- Java String简单知识点总结
1.字符串的比较 public void run(){ //str1在池中 String str1 = new String("String"); //str2,str3 存在于堆 ...
- 树莓派两用优盘制作(FAT32存储+EXT树莓派系统)
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:树莓派两用优盘制作(FAT32存储+EXT树莓派系统) 本文地址:http://tec ...
- 【beta】nice!-------约吧NABCD
小组名称:nice! 组长:李权 成员:于淼 刘芳芳韩媛媛 宫丽君 项目内容:约跑app(约吧) 约吧APP下载地址: 百度云:链接:http://pan.baidu.com/s/1jHNBR3g ...
- PHP与类有关的几个魔术方法
与类有关的其他魔术方法 序列化与反序列化技术 含义: 序列化: 就是将一个变量所代表的“内存”数据,转换为“字符串”形式并持久保存在硬盘上的一种做法. 反序列化: 就是将序列化之后保存在硬盘上的“字符 ...
- java和mysql的length()区别及char_length()
一. mysql里面的有length和char_length两个长度函数,区别在于: length: 一个汉字是算三个字符,一个数字或字母算一个字符. char_length: 不管汉字还是数字或者是 ...
- tooltips & click copy
tooltips & click copy shit antd & tooltips & click copy https://codesandbox.io/s/zx4wo7y ...
- iOS 监听键盘高度,输入框上升
//设置输入框 ---<因为输入框用了get方法,所以第一次调用输入框要用self 调用>: self.textlab.frame=CGRectMake(, , , ); _textlab ...