Web相关

一、Web相关

1Web服务流程

2Web应用分层架构

(1)Web应用三层架构【无拓展性】

(2)Web应用四层架构【解决方案】

3、名词区分

  URI:统一资源标识符,用来唯一的标识一个资源;

  URL:统一资源定位符,用来定位一个资源;

  URN,uniform resource name,统一资源命名,是通过名字来标识资源。如:mailto:[email protected]。

  URI抽象结构 [scheme]:scheme-specific-part#[fragment]

        [scheme]://[authority][path]?[query]#[fragment]

        authority为[user]:[password]@[host]:[port]

        [scheme]://[user]:[password]@[host]:[port][path]?[query]#[fragment]

二、HTTP

1HTTP工作流程

  HTTP客户端启动TCP连接(创建套接字)到服务器,端口80。一旦建立连接,浏览器进程和服务器进程就可以通过各自的套接字来访问。

  http报文(应用层协议报文)在浏览器(http client)和Web服务器(http server)之间进行交换。

  客户端套接字:客户往自己的套接字发送HTTP请求消息,也从自己的套接字接收HTTP响应消息。

  服务器从自己的套接字接收HTTP请求消息,也往自己的套接字发送HTTP响应消息。

2、HTTP连接类型
  HTTP既可以使用非持久连接(non-persistent
connection),也可以使用持久连接(persistent
connection)。HTTP/1.0使用非持久连接,HTTP/1.1默认使用持久连接。

(1)非持久连接

  非持久连接情况下从服务器到客户传送一个Web页面的步骤。假设该页面由1个基本HTML文件和10个JPEG图像构成,而且所有这些对象都存放在同一台服务器主机中。 再假设该基本HTML文件的URL为http: // www.besti.edu.cn/somepath/index.html。具体步骤为:

  HTTP客户初始化一个与服务器主机www.besti.edu.cn中的HTTP服务器的TCP连接。HTTP服务器使用默认端口号80监听来自HTTP客户的连接建立请求。

  HTTP客户经由与TCP连接相关联的本地套接字发出一个HTTP请求消息。这个消息中包含路径名/somepath/index.html。

  HTTP服务器经由与TCP连接相关联的本地套接字接收这个请求消息,再从服务器主机的内存或硬盘中取出对象/somepath/index.html,经由同一个套接字发出包含该对象的响应消息。

  HTTP服务器告知TCP关闭这个TCP连接(不过TCP要到客户收到刚才这个响应消息之后才会真正终止这个连接)。

  HTTP客户经由同一个套接字接收这个响应消息。TCP连接随后终止。该消息标明所封装的对象是一个HTML文件。客户从中取出这个文件,加以分析后发现其中有10个JPEG对象的引用。
  给每一个引用到的JPEG对象重复步骤1-4。

(2)持久连接

  持久连接情况下,服务器在发出响应后让TCP连接继续打开着。同一对客户/服务器之间的后续请求和响应可以通过这个连接发送。

  通常,HTTP服务器在某个连接闲置一段特定时间后关闭它,而这段时间通常是可以配置的。

  持久连接分为不带流水线(without
pipelining)和带流水线(with
pipelining)两个版本。如果是不带流水线的版本,那么客户只在收到前一个请求的响应后才发出新的请求。

  HTTP/1.1的默认模式使用带流水线的持久连接。这种情况下,HTTP客户每碰到一个引用就立即发出一个请求,因而HTTP客户可以一个接一个紧挨着发出各个引用对象的请求。服务器收到这些请求后,也可以一个接一个紧挨着发出各个对象。

2HTTP消息格式

(1)请求消息

  GET方法

如:
  GET
/somedir/page.html HTTP/1.1
  Host:www.besti.edu.cn
  Connection:close
  User-agent:Mozilla/4.0
  Accept-language:zh-cn

  这个消息是用普通的ASCII文本书写的。共有5行(每行以一个回车符和一个换行符结束),最后一行后面还有额外的一个回车特和换行符。请求行有3个字段:方法字段、URL字段、HTTP版本字段。方法字段有若干个值可供选择,包括GET、POST和HEAD。HTTP请求消息绝大多数使用GET方法,头部行Host:www.besti.edu.cn定存放所请求对象的主机。请求消息中包含头部Connection:close是在告知服务器本浏览器不想使用持久连接;服务器发出所请求的对象后应关闭连接。User-agent头部行指定用户代理,也就是产生当前请求的浏览器的类型。本例的用户代理是Mozilla/4.0,它是Nelscape浏览器的一个版本。

  附属体不在GET方法中使用,而是在POST方法中使用。POST方法适用于需由用户填写表单的场合,如往google搜索引擎中填入待搜索的词。用户提交表单后,HEAD方法与GET方法类似,两者的差别只是服务器在对HEAD方法的响应消息中去掉了所请求的对象,其他内容则与对GET方法的响应消息一样。HEAD方法通常用于HTTP服务器软件开发人员进行调试。

  1. POST方法

  如:

  POST /HTTP/1.1

  Host: www.wrox.com

  User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-US; rv:1.7.6)

  Gecko/20050225 Firefox/1.0.1

  Content-Type: application/x-www-form-urlencoded

  Content-Length: 40

  Connection: Keep-Alive

  name=Professional%20Ajax&publisher=Wiley

(2)响应消息

  典型的HTTP响应消息:
    HTTP/1.1
200 OK
    Connection:close
    Date: Thu,
13 Oct 2005 03:17:33 GMT
    Server:
Apache/2.0.54 (Unix)
    Last—Modified:Mon,22 Jun 1998
09;23;24 GMT
    Content—Length:682l
    Content—Type:text/html

  响应报文的开始行是状态行。状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语。

3、状态码

  1xx 表示通知信息的,如请求收到了或正在进行处理。

  2xx 表示成功,如接受或知道了。

  3xx 表示重定向,表示要完成请求还必须采取进一步的行动。

  4xx 表示客户的差错,如请求中有错误的语法或不能完成。

  5xx 表示服务器的差错,如服务器失效无法完成请求。

  其中:

  200 OK——请求成功,所请求信息在响应消息中返回。

  301 Moved Permanently——所请求的对象己永久性迁移,新的URL在本响应消息的Location头部指出。客户软件会自动请求这个新的URL。

  400 Bad Request——表示服务器无法理解相应请求的普通错误的状态码。

  404 Not Found——服务器上不存在所请求的文档。

  HTTP Version Not Support——服务器不支持所请求的HTTP协议版本。

4、分析比较

(1)GET、POST、HEAD

  GET:长度限制1024,速度快,不安全(URL地址栏里提交的参数是可见的,URL提交参数以问号分割;每个参数格式为:参数名=参数值,多个参数用&连接;URL编码用于解决格式问题,统一标准)。

  POST:长度无限制,通常由中间件限制,速度较慢,安全性高(参数在URL中不可见)。

  HEAD:只返回头。

(2)Cookie、Session

  Cookie:把身份信息记录在客户端(浏览器);

  Session:在客户端(浏览器)存放的是ID值,身份信息在服务器端。

时间: 2024-10-10 19:39:01

Web相关的相关文章

手机版web相关meta配置

若页面需默认用ie兼容内核,增加标签: 若页面需默认用ie标准内核,增加标签: --> 页面标题 手机版web相关meta配置,布布扣,bubuko.com

各种web相关的手册下载(w3cscholl,yii,php,jquery1.8.3,正则表达式)

w3cscholl手册:http://www.yiifcms.com/soft/10/ php5 手册 :http://www.yiifcms.com/soft/6/ jquery.1.8.3手册:http://www.yiifcms.com/soft/11/ 正则表达式手册:http://www.yiifcms.com/soft/9/ smarty中文手册:http://www.yiifcms.com/soft/8/ yii中文手册:http://www.yiifcms.com/soft/7/

Python面试综合--web相关

Python面试综合--web相关 websocket 详见: ajax和poll 详见: ajax轮询 浏览器每隔几秒就发送一次请求,询问服务器是否有新信息 long poll 轮询 阻塞:一直打电话,没收到就不挂电话 ajax和long poll缺点: 服务端被动式 ajax要求服务端很快的处理速度 long poll要求服务端高并发 websocket与http http:无状态协议---健忘鬼 websocket: 服务端可以主动推送消息到客户端 持久性:一次请求,持续消息传递(回调)

WEB相关文件的加载顺序

一. 1.启动一个WEB项目,WEB容器会先去读取它的配置文件web.xml,读取<context-param>和<listener>两个节点. 2.接着,容器创建一个ServletContext(servlet上下文),这个web项目的所有部分都讲共享这个上下文 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二. load-on-startup 元素在w

ftp web相关配置

总环境:打开服务机和客户机,将两台机器设置为同一网络段并使之能够ping通,设置FTP[web]角色服务勾选FTP 验证基本与匿名身份验证:在D盘设置文件[ftp]并在文件夹中新建文件[ntd1.ntd2] 设置FTP-选择网站-右键新建FTP站点 设置站点信息-设置完成 设置基本身份验证 到客户机上验证-完成设置基本身份验证 设置匿名身份验证-把授权改为匿名用户 完成设置匿名用户身份验证[无需身份验证即可访问] FTP IP地址限制:点击IP地址和域限制-添加拒绝IP地址[客户机IP]-客户机

JAVA web 相关知识点

1: web的三个核心标准: URL: http   VS  https HTTP:  通信协议,客户端/服务器端信息交互方式; 特点是无状态:                 HTML: 2: HTTP  和  HTTPS区别:

web相关知识

1,网络编程/网站编程:敲一个网站,别人可以访问 访问:在地址栏里面敲入地址,就可以访问了. 服务器如果放在公网,那么别人就可以通过IP地址进行访问 所以我们可以先在本地把我们的网站搭好,别人就可以来访问了.2,基础的实现:通过Tomcat把页面请求交到我们的程序去处理 (1)请求:通过地址栏的输入 (2)响应:要返回的数据/页面 3,配置文件.(主要是理解,因为修改的可能性很小) 基础概念部分: pom文件规定maven加载所需要的所有的jar包 jar包:插件 Spring mvc框架规定说

【Java学习系列】第4课--Java Web相关

本文地址 分享提纲: 1.概述 2. Jsp基础 2.1 1.概述 1)[来源和先导] 本文主要的java web的教程来源JSP是 菜鸟教程JSP 和 天码营Java Web.     主要的先导工作来源知乎,请参考 自学Java怎么入门  和 如何系统地学习java web技术 2)[脑图] Java Web思维导图 2. Jsp基础 2.1)[简介] JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以

java web 相关基础概念的汇总

省去一些废话,反正是记录自学过程的,便于自己理清思路,自知自己资质欠佳,若有不对的地方还请不吝赐教. Java:是一种可以撰写跨平台应用软件的面向对象的程序设计语言.是由Sun公司1995年5月推出的Java程序设计语言和Java平台(SE/EE/ME). Java语言的特性:1.简单性. 2.面向对象:面向对象编程(Object Oriented Programming,OOP,即面向对象程序设计)是一种计算机编程架构.基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成.为了实现