http是什么

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

http功能

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

1.0和1.1版本区别

前者在请求数据,服务器返回后断开连接,后者请求数据,服务器返回后不断开连接直到server或者客户端断开 ,(有一定时间限制,不通信,自动断开)

###Http请求数据解释

请求的数据里面包含三个部分内容 : 请求行 、 请求头 、请求体

  • 请求行
    POST : 请求方式 ,以post去提交数据
    请求的地址路径 , 就是要访问哪个地方。
    HTTP/1.1 协议版本

  • 请求头

Accept: 客户端向服务器端表示,我能支持什么类型的数据。
Referer : 真正请求的地址路径,全路径
Accept-Language: 支持语言格式
User-Agent: 用户代理 向服务器表明,当前来访的客户端信息。
Content-Type: 提交的数据类型。经过urlencoding编码的form表单的数据
Accept-Encoding: gzip, deflate : 压缩算法 。
Host : 主机地址
Content-Length: 数据长度
Connection : Keep-Alive 保持连接
Cache-Control : 对缓存的操作

  • 请求体

浏览器真正发送给服务器的数据

发送的数据呈现的是key=value ,如果存在多个数据,那么使用 &
firstname=zhang&lastname=sansan

###Http响应数据解析

请求的数据里面包含三个部分内容 : 响应行 、 响应头 、响应体

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 673
Date: Fri, 17 Feb 2017 02:53:02 GMT

  • 响应行

HTTP/1.1 200 OK
协议版本
状态码
200 : 成功,正常处理,得到数据。
403 : for bidden 拒绝
404 : Not Found
500 : 服务器异常

  • 响应头

Server: 服务器是哪一种类型。 Tomcat
Content-Type : 服务器返回给客户端你的内容类型
Content-Length : 返回的数据长度
Date : 通讯的日期,响应的时间

get和post的区别

  • post
  1. 数据是以流的方式写过去,不会在地址栏上面显示。 现在一般提交数据到服务器使用的都是POST
  2. 以流的方式写数据,所以数据没有大小限制。
  • get
  1. 会在地址栏后面拼接数据,所以有安全隐患。 一般从服务器获取数据,并且客户端也不用提交上面数据的时候,可以使用GET
  2. 能够带的数据有限, 1kb大小

Web资源

在http协议当中,规定了请求和响应双方, 客户端和服务器端。与web相关的资源。

  • 静态资源
    html 、 js、 css
  • 动态资源
    servlet/jsp
收藏 打印