动态网站开发 【HTTP与网络基础】 李博杰

Slides:



Advertisements
Similar presentations
Copyright©2013 Huawei Technologies Co., Ltd. All Rights Reserved. The information in this document may contain predictive statements including, without.
Advertisements

6.1 区域委派与域名转发 6.2 虚拟主机技术 6.3 架设FTP服务器 6.4 动态主机分配协议 6.5 架设Mail服务器
6.6 简单网络管理协议 SNMP 网络管理的基本概念
动态Web开发技术--JSP.
项目四:Internet基础与接入方法 第八章 应用服务器安装配置
第五章 網際網路 5-1 網際網路的歷史沿革 5-2 網際網路基本運作原理 5-3 連線媒介與連線上網 5-4 網際網路上的熱門應用
2.4 计算机网络基础 什么是计算机网络? 计算机网络有哪些功能? 计算机网络的发展历史? 计算机网络体系结构的内容? 计算机网络如何分类?
计算机网络(第 6 版) 第 6 章 应用层 青岛理工大学通信与电子工程学院.
第 12 章 UDP 與 TCP.
计算机网络教程(第 2 版) 第 7 章 网络互连 课件制作人:谢希仁.
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
第5章 HTML 標籤介紹.
汇报大纲 一、报送系统总体介绍 二、自查及检查评分报送流程 三、自查及检查方法及关键点 四、建议及注意事项.
Chapter 12 UDP 與 TCP.
计算机网络.
计算机网络 暨南大学计算机科学系 学年 第一学期.
第1章 概述.
数据转发过程.
VOIP應用 與進度推廣 臺東大學電算中心 洪守成.
全球資訊網(WWW)簡介.
5.1 – 表格(FORM) 輸入元素 : 兩種傳遞方法 : GET or POST 範例 1. 文字欄位 Text box
Campus Perceiving OPhone Widgets’ Suite
Lab312.
学习目标: 1)理解包和包过滤 2)理解包过滤的方法 3)设置特殊的包过滤规则
SIP 体系架构.
浙江大学本科生《数据挖掘导论》课件 第7课 数据挖掘的高级主题 徐从富,副教授 浙江大学人工智能研究所.
第四章 網頁表單與資料傳遞.
第 12 章 UDP 與 TCP.
利用 ISA Server 2004 建置應用層防護機制
第7讲 多媒体网络 本讲概述: 本讲目标: 多媒体的网络应用 了解多媒体网络的应用要求 存储式音频/视频流 交互式的实时应用
第 13 章 DNS 著作權所有 © 旗標出版股份有限公司.
华南师范大学 防火墙 华南师范大学
基於OpenWSN之無線感測網路系統的實作
第3讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
(C) Active Network CO., Ltd
AA SIP协议原理 2.0 此为固网课程专用的封面页。.
第六章 差错与控制报文 (ICMP).
第五章 網際網路 5-1 網際網路的歷史沿革 5-2 網際網路基本運作原理 5-3 連線媒介與連線上網 5-4 網際網路上的熱門應用
SIP消息之 逐项讲解.
SIP协议 翁彦
TCP/IP基本原理 第九章 文件传输.
網路概論 第11章 SMTP、POP3與IMAP通訊協定.
第十讲 TCP协议 协议概述 报文段格式 差错控制 流控和拥塞控制 TCP连接管理 TCP性能问题 TCP软件设计 2018/12/7
考试题型 填空题(30) 选择题(20) 名词解释(10) 问答题(24) 计算题(16) 附加题(30) 成绩核算:
ASP动态网页设计实用教程 主讲教师: 开课单位:.
第4章 OSI傳輸層.
Web Crack 专题 – AJAX – 2016/11/18 – Payne 本次培训仅供教学内部用途 实验请遵守相关法律法规
張智星 台大資工系 多媒體檢索實驗室 第九章 小餅乾(Cookies) 張智星 台大資工系 多媒體檢索實驗室.
第一讲 J2EE基础 博和利初级培训 —开发技能.
作業二 : SIP User Mobility 實驗目的 實作部分
第 12 章 UDP 與 TCP 著作權所有 © 旗標出版股份有限公司.
在WireShark中觀察與分析應用層封包
第十三章 TCP/IP 與 Internet 網路連結技術
Python联合服务器的使用.
Web前端开发 第23章:网站发布 阮晓龙 / 河南中医药大学管理科学与工程学科
TANet PROTOCOL ANALYSIS - WIRESHARK - 350.
第7章 传输层协议——TCP与UDP 任课教师 卢豫开.
Web Server 王宏瑾.
第4章 TCP/IP应用层常用协议 4.1 Telnet 协 议 4.2 文件传输协议FTP 4.3 电子邮件的工作原理及其协议
Wireshark DNS&HTTP封包分析
Lab312.
實驗目的: 明瞭DHCP運作原理 建置DHCP伺服器
NAT技术讲座 主讲:周旭 大唐电信科技股份有限公司光通信分公司 数据通信部.
HTTP 1.1 Method OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT
第 14 章 DHCP 著作權所有 © 旗標出版股份有限公司.
TYPE B 3504A設定 使用瀏覽器連線到閘道器的ip 例如:
TYPE A 3702A設定 使用瀏覽器連線到閘道器的ip 例如:
Mobile IPv4.
第7章 传输层协议——TCP与UDP 任课教师 卢豫开.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

动态网站开发 【HTTP与网络基础】 李博杰 2011-09-24

HTTP与网络基础 计算机网络基础 电路交换与分组交换 时延与丢包 可靠数据传输 因特网协议层次 HTTP 报文格式 请求行、状态行 首部行 实体主体

电路交换与分组交换 电路交换 每条物理链路由n条虚电路构成 端到端连接 多路复用 频分多路复用(FDM) 时分多路复用(TDM) 打电话 吃饭之前先占座 缺点:静默期电路空闲 优点:通信质量可靠

电路交换与分组交换 分组交换 报文(message)被划分为数据块:分组(packet) 分组交换机:输出队列 分组交换性能优于电路交换 假设用户仅有10%的时间活动,数据速率10Mbps ,链路输出速率=100Mbps 若有35个用户,仅有0.0004的概率超过输出速率 (二项式分布) 假设只有一个用户需要传输大量数据…… 先打饭,再找座位 手机中的“分组数据”

分组时延 分组通过一系列路由器传输,每个节点都有时延 处理时延:确定分组向哪里传送,检查差错,微 秒级 排队时延:在输出队列里等待传输,与流量强度 关系很大,微秒级到毫秒级 随着流量强度接近1,平均排队长度越来越长 丢包问题 传输时延:将一个分组的比特推向链路的时间=分 组长度/链路传输速率(带宽),微秒级到毫秒级 传播时延:从链路起点传到链路终点(接近光速), 毫秒级

可靠数据传输 丢包了,怎么办 人类的做法:回复确认 发送方若过了一段时间未收到确认,则重新发送 问题:如果“回复确认”丢失了,接收方如何判断这 是一条重传的信息还是一条新信息? 让每条信息不同:信息头部加入序号 收到乱序(不是当前所期待的序号)分组,直接 丢弃行吗? 收到乱序分组,需要回复ACK

可靠数据传输 传输中发生比特差错,怎么办 检验比特差错:校验码(检验和) 发现出错时人类的做法:你说什么?(特殊分组 ) “你说什么”又出错了,对方也回一句“你说什么” 足够的检验和,不但能检测差错,还能纠正差错 增加了网络传输的开销,实现上相对困难 收到错误的分组时直接忽略 发送方一直收不到回复,超时后自动重传 不管是分组丢失、错误还是过度时延,一律重传

可靠数据传输协议 “停等”方式虽然正确,但效率不理想 一个分组丢包,需要等到超时才能收到有效分组 网络协议设计不合理,限制了硬件功能 选择重传 只要此序号的分组尚未收到,照单全收 只要正确接收,则确认之 每个分组都有一个(逻辑)定时器,以便超时重传

什么是协议 人类的通话协议 用什么来开始通话? 收到应答报文后有什么不同反应? 通话双方是否必须执行相同的协议? 人类协议 拨电话 - 喂(你好) – 今天有没有作业? - *** 计算机协议 TCP SYN – TCP ACK – GET url – document 可靠数据传输协议

协议层次 邮政服务的层次 内容层:内容->信纸:写信:读信 包装层:信纸->信封:装信封,贴邮票:拆信 邮局层:信封->包裹:根据目的地打包:拆包 运输层:包裹->车辆:运送至目的地:按邮局分类 模块化:改变服务的实现而不影响系统其他部分

因特网协议层次 应用层:网络应用程序的数据传输格式 运输层:在应用程序端点间传送应用层报文 TCP:面向连接的,可靠传输,拥塞控制 UDP:无连接服务,无可靠性保证 网络层:将数据报从一台主机移动到另一台主机 链路层:将帧从一个节点移动到下一个节点 物理层:从物理上传输帧中的每个比特 模块化:改变服务的实现而不影响系统其他部分

客户机与服务器 对等(P2P)体系结构 BitTorrent, eMule, Skype... 客户机-服务器体系结构 C/S B/S 客户机向总是打开的服务器发出请求,客户机之 间相互不通信 某些P2P应用也要用到客户机-服务器,如即时通 信软件,服务器跟踪登录用户的IP地址,用户的主 机之间直接发送信息。

运输层多路复用 一台主机如何分辨不同的进程? 每个套接字(socket)需要有唯一的标识符 每个报文需要携带源主机、目的主机套接字的标 识符 端口号 0~1023:周知端口号(HTTP 80, FTP 21, SSH 22) 1024~65535 在客户机-服务器应用中,一般客户端自动分配端 口号,服务器端分配特定的端口号

HTTP 以TCP作为运输层协议(可靠数据传输) 无状态协议(协议本身不保存客户机信息) 由应用程序依靠Cookie保存客户机信息 单向连接 服务器不能向客户端主动发起连接 要实现实时连接,或者使用持久连接保持不中断 ,或者由客户端定时主动发起连接

HTTP报文格式 RFC 2616 HTTP-message = Request | Response Generic-message = start-line *(message-header CRLF) [ message-body ] Start-line = Request-Line | Status-Line CRLF = <Carriage Return><Line Feed>

Structure Request Request Line Header Fields CRLF Entity Header Entity Response Status Line Header Fields CRLF Entity Header Entity

Message Header Message-header = field-name ”:” [ field-value ] Field-name = token Field-value = *( field-content | LWS ) Field-content = *TEXT | <combination of token, separators, and quoted-string> TEXT = <any OCTET except CTLs, but including LWS> CTL = <any US-ASCII control character> LWS = <Linear white space>

Request Line Request Line = Method SP Request-URI SP HTTP-Version CRLF Request-URI = ”*” | absoluteURI | abs_path | authority GET http://gewu.ustc.edu.cn/gewu/ HTTP/1.1 GET /pub/index.html HTTP/1.1 Host: localhost

Request Methods GET Retrieve whatever information identified by the Request-URI POST Annotation of existing resources (*) Posting a message (*) Providing a block of data (e.g. Submit a form) Extending a database through an append operation OPTIONS, HEAD, PUT, DELETE, TRACE, CONNECT

Header Fields Cache-Control Connection Content-Encoding Content-Length Content-Type Host Location Referer User-Agent

Response Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF Status Code 1xx: Informational 2xx: Success (200 OK) 3xx: Redirection (301 Moved Permanently, 302 Found, 304 Not Modified) 4xx: Client Error (400 Bad Request, 403 Forbidden, 404 Not Found, 413 Request Entity Too Large) 5xx: Server Error (500 Internal Server Error, 502 Bad Gateway)

Cookie 无状态的:简化了服务器的设计,利于并发 如何根据用户显示不同的内容? Cookie (RFC 2109) HTTP响应报文:cookie首部行 HTTP请求报文:cookie首部行 用户端系统:cookie文件(浏览器管理) 服务器端系统:cookie数据库 如PHP的SESSION机制

Cookie 客户机:普通HTTP请求 服务器:HTTP响应+Set-cookie首部行 客户机:HTTP请求+Cookie首部行 服务器:普通HTTP响应 ……

Web缓存 客户机->代理服务器 代理服务器检查是否有缓存 有缓存且未过期,直接返回缓存 否则向原始服务器发送请求,取回数据,向客户 机返回此数据;根据HTTP协议确定是否缓存。 减少客户机的响应时间 减少网络中的流量 浏览器本身也会进行缓存(Ctrl+F5)

Web缓存 如何判断缓存内容是否过期 条件GET Client: GET Server: Last-Modified: <datetime> Client: If-Modified-Since: <datetime> Server: 304 Not Modified

Thanks! Question Time!