热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTTP协议演示——概述(25)

如果用.NET创建一个空的页面,.aspx文件内容如下。代码段一

如果用 .NET 创建一个空的页面,.aspx 文件内容如下。

代码段一

<%&#64; Page Language&#61;"C#" AutoEventWireup&#61;"true" CodeFile&#61;"Default.aspx.cs" Inherits&#61;"_Default" %>

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns&#61;"http://www.w3.org/1999/xhtml">

<head runat&#61;"server">

<title>Untitled Pagetitle>

head>

<body>

<form id&#61;"form1" runat&#61;"server">

<div>

div>

form>

body>

html>

以上页面没有任何控件。然后用 IE 查看它的源文件。如下所示。

代码段二

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns&#61;"http://www.w3.org/1999/xhtml">

<head>

<title>Untitled Pagetitle>

head>

<body>

<form name&#61;"form1" method&#61;"post" action&#61;"Default.aspx" id&#61;"form1">

<div>

<input type&#61;"hidden" name&#61;"__VIEWSTATE" id&#61;"__VIEWSTATE"

value&#61;"/wEPDwUJNzgzNDMwNTMzZGT8XigVHlmkk&#43;BXiblfwYUp8bVAIA&#61;&#61;" />

div>

<div>

div>

form>

body>

html>

即便没有任何控件&#xff0c;但在它的源代码文件中还是有个隐藏域。如果向这个页面添加一个 HTML 文本框&#xff0c;.aspx 文件内容如下所示。

代码段三

<%&#64; Page Language&#61;"C#" AutoEventWireup&#61;"true" CodeFile&#61;"Default.aspx.cs" Inherits&#61;"_Default" %>

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns&#61;"http://www.w3.org/1999/xhtml">

<head runat&#61;"server">

<title>Untitled Pagetitle>

head>

<body>

<form id&#61;"form1" runat&#61;"server">

<div>

<input id&#61;"Text1" type&#61;"text" />div>

form>

body>

html>

再查看它的源文件&#xff0c;如下所示。

代码段四

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns&#61;"http://www.w3.org/1999/xhtml">

<head>

<title>Untitled Pagetitle>

head>

<body>

<form name&#61;"form1" method&#61;"post" action&#61;"Default.aspx" id&#61;"form1">

<div>

<input type&#61;"hidden" name&#61;"__VIEWSTATE" id&#61;"__VIEWSTATE"

value&#61;"/wEPDwUJNzgzNDMwNTMzZGT8XigVHlmkk&#43;BXiblfwYUp8bVAIA&#61;&#61;" />

div>

<div>

<input id&#61;"Text1" type&#61;"text" />

div>

form>

body>

html>

此时&#xff0c;除了隐藏域&#xff0c;就是真正的 HTML 文本框。如果向这个页面添加一个 ASP.NET 控件&#xff0c;.aspx 文件内容如下所示。

代码段五

<%&#64; Page Language&#61;"C#" AutoEventWireup&#61;"true" CodeFile&#61;"Default.aspx.cs" Inherits&#61;"_Default" %>

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns&#61;"http://www.w3.org/1999/xhtml">

<head runat&#61;"server">

<title>Untitled Pagetitle>

head>

<body>

<form id&#61;"form1" runat&#61;"server">

<div>

<asp:TextBox ID&#61;"TextBox1" runat&#61;"server">asp:TextBox>div>

form>

body>

html>

查看它的源文件&#xff0c;如下所示。

代码段六

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns&#61;"http://www.w3.org/1999/xhtml">

<head>

<title>Untitled Pagetitle>

head>

<body>

<form name&#61;"form1" method&#61;"post" action&#61;"Default.aspx" id&#61;"form1">

<div>

<input type&#61;"hidden" name&#61;"__VIEWSTATE" id&#61;"__VIEWSTATE"

value&#61;"/wEPDwUJMjgzMDgzOTgzZGRQ4cwjxigvH0cn0g6XWSHkZbN2Lg&#61;&#61;" />

div>

<div>

<input name&#61;"TextBox1" type&#61;"text" id&#61;"TextBox1" />div>

<div>

<input type&#61;"hidden" name&#61;"__EVENTVALIDATION" id&#61;"__EVENTVALIDATION"

value&#61;"/wEWAgKo3JKxDwLs0bLrBrEWYCZVJeodiUUqcdX2kqmQDHGa" />div>

form>

body>

html>

此时的源文件&#xff0c;多了一个。两个隐藏域&#xff0c;分别是 "__VIEWSTATE""__EVENTVALIDATION"&#xff0c;再就是 HTML 文本框。

另外&#xff0c;我们知道 ASP.NET 程序中&#xff0c;有几个一直存在的对象&#xff0c;Server 对象&#xff0c;Response 对象&#xff0c;Request 对象等等。如果我们调试一下 ASP.NET 程序&#xff0c;看看 Response 和 Request 对象都有些什么。

对于 Request 对象&#xff0c;你可能看到如下一堆信息。

代码段七

AcceptTypes: {Dimensions:[1]}

AnonymousID: null

ApplicationPath: "/"

AppRelativeCurrentExecutionFilePath: "~/Default.aspx"

Browser: {System.Web.Mobile.MobileCapabilities}

ClientCertificate: {System.Web.HttpClientCertificate}

ContentEncoding: {System.Text.UTF8Encoding}

ContentLength: 0

ContentType: ""

COOKIEs: {System.Web.HttpCOOKIECollection}

CurrentExecutionFilePath: "/Default.aspx"

FilePath: "/Default.aspx"

Files: {System.Web.HttpFileCollection}

Filter: {System.Web.HttpInputStreamFilterSource}

Form: {}

Headers: {Connection&#61;Keep-Alive&;;Accept&#61;*%2f*&Accept-Encoding&#61;gzip%2c&#43;deflate&Accept-Language&#61;zh-cn&Host&#61;localhost%3a1234&User-Agent&#61;Mozilla%2f4.0&#43;(compatible%3b&#43;MSIE&#43;7.0%3b&#43;Windows&#43;NT&#43;5.2%3b&#43;.NET&#43;CLR&#43;1.1.4322%3b&#43;.NET&#43;CLR&#43;2.0.50727)&UA-CPU&#61;x86}

HttpMethod: "GET"

InputStream: {System.Web.HttpInputStream}

IsAuthenticated: false

IsLocal: true

IsSecureConnection: false

LogonUserIdentity: {System.Security.Principal.WindowsIdentity}

Params: {ALL_HTTP&#61;HTTP_CONNECTION%3aKeep-Alive%0d%0aHTTP_ACCEPT%3a*%2f*%0d%0aHTTP_ACCEPT_ENCODING%3agzip%2c&#43;deflate%0d%0aHTTP_ACCEPT_LANGUAGE%3azh-cn%0d%0aHTTP_HOST%3alocalhost%3a1234%0d%0aHTTP_USER_AGENT%3aMozilla%2f4.0&#43;(compatible%3b&#43;MSIE&#43;7.0%3b&#43;Windows&#43;NT&#43;5.2%3b&#43;.NET&#43;CLR&#43;1.1.4322%3b&#43;.NET&#43;CLR&#43;2.0.50727)%0d%0aHTTP_UA_CPU%3ax86%0d%0a&;;ALL_RAW&#61;Connection%3a&#43;Keep-Alive%0d%0aAccept%3a&#43;*%2f*%0d%0aAccept-Encoding%3a&#43;gzip%2c&#43;deflate%0d%0aAccept-Language%3a&#43;zh-cn%0d%0aHost%3a&#43;localhost%3a1234%0d%0aUser-Agent%3a&#43;Mozilla%2f4.0&#43;(compatible%3b&#43;MSIE&#43;7.0%3b&#43;Windows&#43;NT&#43;5.2%3b&#43;.NET&#43;CLR&#43;1.1.4322%3b&#43;.NET&#43;CLR&#43;2.0.50727)%0d%0aUA-CPU%3a&#43;x86%0d%0a&APPL_MD_PATH&#61;%2fLM%2fW3SVC%2f1860662192%2fRoot&APPL_PHYSICAL_PATH&#61;D%3a%5cMyTest%5cWebSite1%5c&AUTH_TYPE&#61;&AUTH_USER&#61;&AUTH_PASSWORD&#61;&LOGON_USER&#61;&REMOTE_USER&#61;&CERT_COOKIE&#61;&CERT_FLAGS&#61;&CERT_ISSUER&#61;&CERT_KEYSIZE&#61;&CERT_SECRETKEYSIZE&#61;&CERT_SERIALNUMBER&#61;&CERT_SERVER_ISSUER&#61;&CERT_SERVER_SUBJECT&#61;&CERT_SUBJECT&#61;&CONTENT_LENGTH&#61;0&CONTENT_TYPE&#61;&GATEWAY_INTERFACE&#61;CGI%2f1.1&HTTPS&#61;off&HTTPS_KEYSIZE&#61;&H

_SECRETKEYSIZE&#61;&;;HTTPS_SERVER_ISSUER&#61;&HTTPS_SERVER_SUBJECT&#61;&INSTANCE_ID&#61;1860662192&INSTANCE_META_PATH&#61;%2fLM%2fW3SVC%2f1860662192&LOCAL_ADDR&#61;127.0.0.1&PATH_INFO&#61;%2fDefault.aspx&PATH_TRANSLATED&#61;D%3a%5cMyTest%5cWebSite1%5cDefault.aspx&QUERY_STRING&#61;&REMOTE_ADDR&#61;127.0.0.1&REMOTE_HOST&#61;127.0.0.1&REMOTE_PORT&#61;46201&REQUEST_METHOD&#61;GET&SCRIPT_NAME&#61;%2fDefault.aspx&SERVER_NAME&#61;localhost&SERVER_PORT&#61;1234&SERVER_PORT_SECURE&#61;0&SERVER_PROTOCOL&#61;HTTP%2f1.1&SERVER_SOFTWARE&#61;Microsoft-IIS%2f6.0&URL&#61;%2fDefault.aspx&HTTP_CONNECTION&#61;Keep-Alive&HTTP_ACCEPT&#61;*%2f*&HTTP_ACCEPT_ENCODING&#61;gzip%2c&#43;deflate&HTTP_ACCEPT_LANGUAGE&#61;zh-cn&HTTP_HOST&#61;localhost%3a1234&HTTP_USER_AGENT&#61;Mozilla%2f4.0&#43;(compatible%3b&#43;MSIE&#43;7.0%3b&#43;Windows&#43;NT&#43;5.2%3b&#43;.NET&#43;CLR&#43;1.1.4322%3b&#43;.NET&#43;CLR&#43;2.0.50727)&HTTP_UA_CPU&#61;x86}

Path: "/Default.aspx"

PathInfo: ""

PhysicalApplicationPath: "D://MyTest//WebSite1//"

PhysicalPath: "D://MyTest//WebSite1//Default.aspx"

QueryString: {}

RawUrl: "/Default.aspx"

RequestType: "GET"

ServerVariables: {ALL_HTTP&#61;HTTP_CONNECTION%3aKeep-Alive%0d%0aHTTP_ACCEPT%3a*%2f*%0d%0aHTTP_ACCEPT_ENCODING%3agzip%2c&#43;deflate%0d%0aHTTP_ACCEPT_LANGUAGE%3azh-cn%0d%0aHTTP_HOST%3alocalhost%3a1234%0d%0aHTTP_USER_AGENT%3aMozilla%2f4.0&#43;(compatible%3b&#43;MSIE&#43;7.0%3b&#43;Windows&#43;NT&#43;5.2%3b&#43;.NET&#43;CLR&#43;1.1.4322%3b&#43;.NET&#43;CLR&#43;2.0.50727)%0d%0aHTTP_UA_CPU%3ax86%0d%0a&;;ALL_RAW&#61;Connection%3a&#43;Keep-Alive%0d%0aAccept%3a&#43;*%2f*%0d%0aAccept-Encoding%3a&#43;gzip%2c&#43;deflate%0d%0aAccept-Language%3a&#43;zh-cn%0d%0aHost%3a&#43;localhost%3a1234%0d%0aUser-Agent%3a&#43;Mozilla%2f4.0&#43;(compatible%3b&#43;MSIE&#43;7.0%3b&#43;Windows&#43;NT&#43;5.2%3b&#43;.NET&#43;CLR&#43;1.1.4322%3b&#43;.NET&#43;CLR&#43;2.0.50727)%0d%0aUA-CPU%3a&#43;x86%0d%0a&APPL_MD_PATH&#61;%2fLM%2fW3SVC%2f1860662192%2fRoot&APPL_PHYSICAL_PATH&#61;D%3a%5cMyTest%5cWebSite1%5c&AUTH_TYPE&#61;&AUTH_USER&#61;&AUTH_PASSWORD&#61;&LOGON_USER&#61;&REMOTE_USER&#61;&CERT_COOKIE&#61;&CERT_FLAGS&#61;&CERT_ISSUER&#61;&CERT_KEYSIZE&#61;&CERT_SECRETKEYSIZE&#61;&CERT_SERIALNUMBER&#61;&CERT_SERVER_ISSUER&#61;&CERT_SERVER_SUBJECT&#61;&CERT_SUBJECT&#61;&CONTENT_LENGTH&#61;0&CONTENT_TYPE&#61;&GATEWAY_INTERFACE&#61;CGI%2f1.1&HTTPS&#61;off&HTTPS_K

ZE&#61;&;;HTTPS_SECRETKEYSIZE&#61;&HTTPS_SERVER_ISSUER&#61;&HTTPS_SERVER_SUBJECT&#61;&INSTANCE_ID&#61;1860662192&INSTANCE_META_PATH&#61;%2fLM%2fW3SVC%2f1860662192&LOCAL_ADDR&#61;127.0.0.1&PATH_INFO&#61;%2fDefault.aspx&PATH_TRANSLATED&#61;D%3a%5cMyTest%5cWebSite1%5cDefault.aspx&QUERY_STRING&#61;&REMOTE_ADDR&#61;127.0.0.1&REMOTE_HOST&#61;127.0.0.1&REMOTE_PORT&#61;46201&REQUEST_METHOD&#61;GET&SCRIPT_NAME&#61;%2fDefault.aspx&SERVER_NAME&#61;localhost&SERVER_PORT&#61;1234&SERVER_PORT_SECURE&#61;0&SERVER_PROTOCOL&#61;HTTP%2f1.1&SERVER_SOFTWARE&#61;Microsoft-IIS%2f6.0&URL&#61;%2fDefault.aspx&HTTP_CONNECTION&#61;Keep-Alive&HTTP_ACCEPT&#61;*%2f*&HTTP_ACCEPT_ENCODING&#61;gzip%2c&#43;deflate&HTTP_ACCEPT_LANGUAGE&#61;zh-cn&HTTP_HOST&#61;localhost%3a1234&HTTP_USER_AGENT&#61;Mozilla%2f4.0&#43;(compatible%3b&#43;MSIE&#43;7.0%3b&#43;Windows&#43;NT&#43;5.2%3b&#43;.NET&#43;CLR&#43;1.1.4322%3b&#43;.NET&#43;CLR&#43;2.0.50727)&HTTP_UA_CPU&#61;x86}

TotalBytes: 0

Url: {http://localhost:1234/Default.aspx}

UrlReferrer: null

UserAgent: "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"

UserHostAddress: "127.0.0.1"

UserHostName: "127.0.0.1"

UserLanguages: {Dimensions:[1]}

对于 Response 对象&#xff0c;你可能会看到如下内容。

代码段八

Buffer: true

BufferOutput: true

Cache: {System.Web.HttpCachePolicy}

CacheControl: "private"

Charset: "utf-8"

ContentEncoding: {System.Text.UTF8Encoding}

ContentType: "text/html"

COOKIEs: {System.Web.HttpCOOKIECollection}

Expires: 0

ExpiresAbsolute: {0001-1-1 0:00:00}

Filter: {System.Web.HttpResponseStreamFilterSink}

HeaderEncoding: {System.Text.UTF8Encoding}

IsClientConnected: true

IsRequestBeingRedirected: false

Output: {System.Web.HttpWriter}

OutputStream: {System.Web.HttpResponseStream}

RedirectLocation: null

Status: "200 OK"

StatusCode: 200

StatusDescription: "OK"

SuppressContent: false

o_%E5%8E%9F%E5%88%9B.jpg

转:https://www.cnblogs.com/liuning8023/archive/2012/10/09/2717633.html



推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 代理模式的详细介绍及应用场景
    代理模式是一种在软件开发中常用的设计模式,通过在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象进行访问,从而简化系统的复杂性。代理模式可以根据不同的使用目的分为远程代理、虚拟代理、Copy-on-Write代理、保护代理、防火墙代理、智能引用代理和Cache代理等几种。本文将详细介绍代理模式的原理和应用场景。 ... [详细]
author-avatar
爱情丫丫2502895047
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有