| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算机网络 Kurose 第二章 应用层 2.2Web和HTTP -> 正文阅读 |
|
[网络协议]计算机网络 Kurose 第二章 应用层 2.2Web和HTTP |
2.2.1 HTTP概况Web的应用层协议是超文本传输协议(HypterText Transfer Protocol,HTTP),它是Web的核心,在[RFC 1945]和[RFC 2616]中进行了定义。 HTTP由两个程序实现,一个是客户程序,一个是服务器程序 Web页面是由对象组成的,一个对象只是一个文件,多数Web页面含有一个HTML基本文件,以及几个引用对象。 HTML基本文件通过对象的URL地址引用页面中的其他对象。每个URL地址由两部分组成:存放对象的服务器主机名和对象的路径名。 HTTP定义了Web客户向Web服务器请求Web页面的方式,以及服务器向客户传送Web页面的方式 HTTP使用TCP作为它的支撑运输协议。 服务器向客户发送被请求的文件,而不存储任何关于该客户的状态信息。HTTP服务器并不保存关于客户的任何信息,所以我们说HTTP是一个无状态协议。 2.2.2 非持续链接和持续链接2.2.3 HTTP 报文格式1.HTTP请求报文 下面提供了一个典型的HTTP请求报文: GET /somedir/page.html HTTP/1.1 ##请求行 ##首部行 Host:www.someschool.edu Connection:close User-agent:Mozilla/5.0 Accept-language:fr 请求行分为3个字段:方法字段(GET,POST,HEAD,PUT,DELETE),URL字段和HTTP版本字段 当浏览器请求一个对象的时候,使用GET方法,在URL字段带有请求对象的标识,浏览器实现的是HTTP1.1版本。 首部行中Host指明了对象所在的主机,Connection:close告知服务器不使用持续链接。User-agent指出发送请求的浏览器类型,这里就是火狐浏览器,Accept-language指出语言版本。 ?2.HTTP响应报文 HTTP/1.1 200 OK? ##状态行 ##首部行 Connection:close Date:Tue,18 Aug 2015 15:44:04 GMT Server:Apache/2.2.3 (centos) Last-Modified:Tue,18 Aug 2015 15:11:03 GMT Content-Length:6821 Content-Type:Text/html ##实体体 (data data data data data ...) 状态行有3个字段:协议版本字段,状态码和响应状态信息。 一些常见的状态码和相关的短语包括:
首部行中Connection:close告知客户发送完报文后关闭TCP连接。Date指示服务器产生并发送该响应报文的日期和时间。这个时间是指服务器找到该文件,并且插入报文中进行发送的时间。Server:指示服务器。Last-Modified:对象创建或者最后修改的时间。Content-Length:指示了被发送对象中的字节数,Content-Type指示了对象时HTML文本。 2.2.4 用户与服务器的交互:cookieWeb站点通过cookie来进行站点对用户跟踪 cookie有4个组件:
2.2.5 Web缓存Web缓存也叫代理服务器,它是能够代表初始Web服务器来满足HTTP请求的网络实体 Web缓存器有自己额磁盘存储空间,并在存储空间中保存最近请求过的对象副本。 1)浏览器创建一个到Web缓存器的TCP连接,并向Web缓存器中的对象发送一个HTTP请求。 2)Web缓存器进行检查,看看本地是否存储了该对象副本。如果有,Web缓存器向客户浏览器用HTTP响应报文返回 3)如果Web缓存器中没有该对象,它就打开一个与该对象的初始服务器的TCP连接。Web缓存器则在这个缓存器到服务器的TCP连接上发送一个该对象的HTTP请求。在收到该请求后,初始服务器向该Web缓存器发送具有该对象的HTTP响应。 4)当Web缓存器接收到该对象的时候,它在本地存储空间存储一份副本,并向客户的浏览器用HTTP响应报文发送该副本。 ?2.2.6条件GET方法 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 11:48:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |