基础网络详解2--HTTP

一、HTTP概况

1、1概况

Web的应用层协议是超文本传输协议(HyperText Transfer Protocol HTTP),在RFC 1945和RFC 2616 中进行了相关的定义

1、2持续链接

所有的请求及其相应都是经相同的TCP连接发送,这种情况被称为持续连接

1、3非持续连接

每一个请求响应对都是经一个单独的TCP连接发送,这种情况被称为非持续连接

二、报文格式

HTTP规范 RFC 1945和RFC 2616 包含了对HTTP报文格式的定义,HTTP有请求报文和相应报文两种

2、1 HTTP请求报文

GET /index.html HTTP/1.1
Host: www.csdn.net
Connection: close
User-agent: Mozilla/5.0
Accept-language: fr

一个HTTP请求报文通用格式如下
在这里插入图片描述

其中HTTP请求的第一行叫做请求行(request line),后续的其他行叫做首部行(header line),请求行有三个字段:方法字段、URL字段、和HTTP版本字段。方法字段:GET、POST、HEAD、PUT、DELETE;版本字段是指浏览器是实现的哪个HTTP版本,此例中是指HTTP1.1。当使用GET方法的时候报文实体是空的,而使用POST方法的时候才会使用该实体。

2、2 HTTP响应报文

一个具体的响应报文如下:

HTTP/1.1 200 OK
Connection: close
Date: Tue, 09 Aug 2011 15:44:04 GMT
Server: Apache/2.3.3 (CentOS)
Last-Modified: Tue, 09 Aug 2011 15:11:03 GMT
Content-Length: 6821
Content-Type: text/html

(data data data data data data data data ...)

响应报文有三个部分:第一行为初始状态行(status line),后续的几行是首部行(header line),然后是空白行,最后是实体行(entity body)。状态行有3个字段:协议版本、状态码、相应状态信息
服务器用Connection: close 首部行告诉客户端,发送完报文后将关闭该TCP连接。Date:首部行指示服务器产生并发送该相应报文的日期和时间。Content-Length: 6821首部行指示了被发送对象中的字节数,Content-Type: text/html 首部行指示了实体中的对象是html文本。
一个HTTP响应报文通用格式如下:
在这里插入图片描述

三、HTTP协议层架构

  20 世纪 90 年代,HTTP 作为一套可扩展的协议被设计出来,并随时间不断演进。HTTP 是一种应用层的协议,通过 TCP,或者是== TLS==——一种加密过的 TCP 连接——来发送,当然,理论上来说可以借助任何可靠的传输协议。受益于 HTTP 的可扩展性,时至今日,它不仅可以用来获取超文本文档,还可用来获取图片、视频或者向服务端发送信息,比如填写好的 HTML 表单。HTTP 还可以用来获取文档的部分内容,以便按需更新 Web 页面。架构图如下:在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值