HTTP协议由来已久,最近复习到它,好记性不如烂笔头,在此留下自己的总结,算是为后面再要看时用吧。HTTP协议是一个在B/S架构中约束客户端(浏览器)和服务端(比较常见的是就是IIS服务器,关于IIS服务器的配置,这里就不再讲了,度娘那里一搜一大把。呵呵)2者进行通信的协议;打个比方,相当于2个人要交流,我们要么都用汉语、要么都用英语,语言不通则会产生沟通障碍。

HTTP协议规定浏览器要跟IIS服务器进行交互,首先要将请求的内容封装成HTTP请求头(这些是浏览器自动完成的,当我们在地址栏键入一个具体地址的时候,这个过程就开始了;对于第一次访问的网站首先会到域名解析服务器中找与域名对应的IP地址,再交给浏览器,由浏览器重新访问指定IP的服务器,对于不是第一次访问的网站,浏览器中会有缓存,就直接从缓存中拿到与之对应的IP,然后进行访问),通过网络通信Socket将请求头发送到服务器,服务器拿到请求后进行解析,然后返回响应(具体页面),浏览器在拿到响应报文后,解析它,然后展示具体页面。这就是B/S架构中浏览器和服务器通信的过程,下面是截图。

我们首先在计算机的磁盘下新建一个网页,如图:

  

这个页面很简单,就是在body元素里放了一个“shit”字符罢了。然后打开“Internet 信息服务”(我的机器是XP,所以IIS对应版本是5.1),在“默认网站”下右击,依次点击“新建→虚拟目录”,打开创建向导。输入一个别名“test”

继续下一步,在“网站内容目录”中,点击“浏览”,选择刚才新建的网页所在的目录。继续下一步。如图:

记得勾选“浏览”,继续下一步,那么这个a.html就在IIS上部署好了。我们配置下端口什么的。在“默认网站”上右击“属性”,如图:

配置好”描述“、”IP地址“和”端口“后,我们就可以浏览了。

在地址栏输入”http://192.168.1.9:8086/test/a.html“,即可看到网页内容。

下面我们来看看浏览器发送的请求头,当在地址栏输入”http://192.168.1.9:8086/test/a.html“的时候,按下“F12”,再到地址栏回车。(我以Google Chrome浏览器为例)

注意上图中还有个地方“Connection:keep-alive”这个表示在浏览器和服务器间建立一个长连接,因为网页中有图片、CSS、JS等内容,浏览器在拿到网页时解析过程中要这些东西,如果再重新连接,是相当耗时的,所以服务器端保持着一个长连接,浏览器要上述内容时,直接走连接管道即可,无需再次建立连接(这是HTTP1.1才有的),响应体:

    下面是总结,由此可以看出在浏览器和服务器通信的过程中,客户端(浏览器)做了2件事儿:在用户输入具体地址时,将用户的请求地址封装成HTTP请求发送到服务端;拿到服务端的响应报文,进行解析(执行JS文件,渲染CSS样式),最终展示成一个具体页面。服务端(IIS)拿到客户端的请求报文,解析执行,返回相应具体页面。中间还说了下怎么发布一个具体网页的过程。

ASP.NET网络编程之-HTTP协议的更多相关文章

  1. C#网络编程之---TCP协议的同步通信(二)

    上一篇学习日记C#网络编程之--TCP协议(一)中以服务端接受客户端的请求连接结尾既然服务端已经与客户端建立了连接,那么沟通通道已经打通,载满数据的小火车就可以彼此传送和接收了.现在让我们来看看数据的 ...

  2. 网络编程——基于TCP协议的Socket编程,基于UDP协议的Socket编程

    Socket编程 目前较为流行的网络编程模型是客户机/服务器通信模式 客户进程向服务器进程发出要求某种服务的请求,服务器进程响应该请求.如图所示,通常,一个服务器进程会同时为多个客户端进程服务,图中服 ...

  3. C#网络编程之--TCP协议(一)

    TCP 是面向连接的传输协议 面向连接,其实就好比,A打电话给B,如果B接听了,那么A和B之间就的通话,就是面向连接的 TCP 是全双工的传输协议 全双工,这个理解起来也很简单,A打电话给B,B接听电 ...

  4. iOS UI高级之网络编程(HTTP协议)

    HTTP协议的概念 HTTP协议,Hyper Text Transfer Protocol (超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和响 ...

  5. 网络编程(UDP协议-聊天程序)

    网络编程中的UDP协议中聊天程序,发送端口,和接受端口. 发送端口(Send): <span style="font-size:18px;">package cn.it ...

  6. 一、网络编程-UDP传输协议及socket套接字使用

    知识点基本介绍:1.网络通信协议一般就是UDP和TCP俩种传输协议,这一章先说UDP,UDP是一种比较简单的传输协议,如qq使用的就是UDP          2.ip:ip就是标记网络中中的一台电脑 ...

  7. iOS 网络编程(HTTP协议)

    HTTP协议的概念HTTP协议,Hyper Text Transfer Protocol (超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和响应 ...

  8. JAVA基础知识之网络编程——-TCP/IP协议,socket通信,服务器客户端通信demo

    OSI模型分层 OSI模型是指国际标准化组织(ISO)提出的开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它将网络分为七 ...

  9. 网络编程(基于udp协议的套接字/socketserver模块/进程简介)

    一.基于UDP协议的套接字 TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据.相对TCP,UDP则是面向无连接的协议. 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就 ...

  10. JAVA基础知识之网络编程——-基于UDP协议的通信例子

    UDP是一种不可靠的协议,它在通信两端各建立一个socket,这两个socket不会建立持久的通信连接,只会单方面向对方发送数据,不检查发送结果. java中基于UDP协议的通信使用DatagramS ...

随机推荐

  1. Lua类和类继承实现

    Lua本身是不能像C++那样直接实现继承,但我们可以用万能的table表来实现. 以下我总结了三种方式的类以及继承的实现 第一.官方的做法,使用元表实现 原理参照<Programming in ...

  2. bzoj 1228 [SDOI2009]E&D(sg函数,找规律)

    Description 小E 与小W 进行一项名为“E&D”游戏.游戏的规则如下:桌子上有2n 堆石子,编号为1..2n.其中,为了方便起见,我们将第2k-1 堆与第2k 堆(1 ≤ k ≤ ...

  3. 【解决】python2.x版本的Django下admin管理页面css无效

    折腾一下午,终于解决了这个问题,有必要记录一下,我就奇怪了为什么实验室电脑没问题,到宿舍就挂掉了,哼 主要是改mimetypes文件,位于D:\MySoftware\Python27\Lib下 1.添 ...

  4. 组合数学及其应用——格路径与Schroder数

    格路径问题是探讨在如下所示中的一个格点图上,从(0,0)位置到达(p,q)所有可能的情况数.我们称这样的通路为一条格路径. 格点图: · · · · · · · · · · · · · · · · · ...

  5. POJ3080 - Blue Jeans(KMP+二分)

    题目大意 求N个字符串的最长公共字串 题解 和POJ1226做法一样...注意是字典序最小的...WA了一次 代码: #include <iostream> #include <cs ...

  6. POJ2250 - Compromise(LCS+打印路径)

    题目大意 给定两段文本,问公共单词有多少个 题解 裸LCS... 代码: #include<iostream> #include<string> using namespace ...

  7. svn无法更新解决方案

    1.删除C:\Documents and Settings\用户名\Application Data\Subversion\auth下的文件,删除svn登录信息. 2.将eclipse中 window ...

  8. 手把手教你入门web.xml:吃透监听器

    监听器的原理: 被监听对象→对象拥有的事件→捕获到事件变化→监听器捕捉事件→监听器处理该事件 Web服务器上有4个范围,抛开page范围,还有request范围,session范围,applicati ...

  9. iOS不勾选设置,实现某个界面强制横屏

    1.在不勾选横屏的前提下,实现某一个界面横屏显示,比如播放视频.图表显示等. 2.只能Present跳转,Push会无效. 3.实现代码 在需要横屏的VC里,添加如下代码 #pragma mark 强 ...

  10. 正则表达式_matches(Regex)

    [0-9a-zA-Z.%+-] 匹配中括号中的 0-9 或者 a-z 或者 A-Z 或者 . 或者 % 或者 + 或者 - $p = "111,222,333"$p -match ...