您的位置:首页 > 理论基础 > 计算机网络

HTTP总结

2016-04-02 18:06 274 查看
关于HTTP协议感觉总是学了又忘,所以特别写一篇博客来增加印象.

一、HTTP协议概述

首先来说一下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。

当然上面的话太官方令人难以理解,简单来说,浏览器访问某个网站,就会发送一个request请求,然后web服务器收到请求后会生成相应的response然后返回给浏览器,而它们之间通讯的数据要遵循一定的规范,比如说什么消息头响应头状态码什么的,这种规范就是http请求。

二、HTTP结构剖析

1.HTTP请求信息

GET www.sohu.com HTTP/1.1 –>请求头,包含了请求方式,url和http协议版本

Accept: text/html, application/xhtml+xml, image/jxr, / –>请求的资源类型

Accept-Encoding: gzip, deflate –>编码方式

Accept-Language: en-us ,zh-cn –>地区语言

Connection: Keep-Alive –>保持连接状态,以节省资源

Host: www.sohu.com –>请求的主机地址

User-Agent: Mozilla/5.0 –>用户信息,显示用户浏览器内核,操作系统等信息

2.HTTP响应消息

HTTP/1.1 200 OK

Cache-Control:no-cache, no-store, must-revalidate –>控制缓存的信息

Content-Length:2410 –>内容长度

Content-Type: text/html –>内容的类型

Date:Sat, 02 Apr 2016 09:57:22 GMT –>响应时间

Server:apache –>Web服务器类型

3.常见的响应状态码

200: 表示一切正常,返回的是正常请求结果

206: (部分内容) 客户发送了一个带Rang头(要求服务器只返回资源/文档中的部分内容)的GET请求,服务器按要求完成了这个请求

302/307(临时重定向): 指出被请求的文档已经被临时移到别处,此文档的新URL在LOCATION响应头中给出.

304: (未修改)表示客户机缓存的版本是最新的,客户应该继续使用它

401:(未授权) 表示客户机访问的是一个受口令和密码保护的页面,结合使用一个WWW - Authenticate 响应头提示客户机应重新发出一个带 Authorization头的请求消息

404: (找不到资源) 服务器上不存在客户机请求的资源

500: (内部服务器错误) 服务器端的 CGI,ASP,JSP等程序发生错误.

4.GET请求和POST请求有何区别?

get会把提交的信息显示在地址栏上,post不会

get对于敏感信息不安全 post安全

get 提交数据体积受地址栏的限制, 一般在1KB以下. post没有,可以提交大体积数据

get将提交信息封装在请求行,也就是http消息头之前. post 数据体中,也就是http消息头之后的空行后
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: