一、定义

http协议叫做超文本传输协议,是从web服务器传输超文本到本地浏览器的协议。

二、特征

1.无连接:即每次连接仅处理一个请求,服务器处理完客户的请求,并收到客户端的响应后,即断开连接。采用这种方式可以节省传输时间。

2.无状态:无状态是指对于事物处理没有记忆能力,意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

3,媒体独立:即只要客户端和服务网知道如何处理数据内容,那么任何类型的数据都可以通过http发送,

三、http消息格式

  客户端的请求消息格式:请求行,请求头部,空行和请求数据。

GET /hello.txt HTTP/1.1  (请求行)
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 (请求头)
Host: www.example.com
Accept-Language: en, mi
                  (空行)

(请求数据,如发送post请求的时候)

服务器端的相应报文格式:状态行,消息报头,空行,响应正文
HTTP/1.1 200 OK  (状态行)
Date: Mon, 27 Jul 2009 12:28:53 GMT (消息报头)
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain
                    (空行)
<html>               (响应报文) 
<head>
<title>work homepage</title>
</html> 三、http请求方法
get,post,head,delete,put等等 四、http状态码
200——请求成功
301——资源转移
400——bad request
401——unauthorized
404——请求的资源不存在not found
403——请求被禁止forbidden
500——服务器内部错误
502-bad gateway
503-service unabailable
504-gateway timeout 1××:服务器收到请求,需要请求者继续执行操作
2××:操作已经成功处理;
3××:重定向,需要进一步的操作以完成请求
4××:客户端错误,请求包含语法错误或无法完成请求
5××:服务器错误,服务器在处理请求过程中发生了错误

互联网_http协议的更多相关文章

  1. 新一代互联网传输协议QUIC

    QUIC(Quick UDP Internet Connections,快速UDP互联网连接)是Google提出的一种基于UDP改进的通信协议,其目的是降低网络通信的延迟,提供更好的用户互动体验. Q ...

  2. 新一代互联网传输协议QUIC浅析

    QUIC(Quick UDP Internet Connection)是谷歌制定的一种互联网传输层协议,它基于UDP传输层协议,同时兼具TCP.TLS.HTTP/2等协议的可靠性与安全性,可以有效减少 ...

  3. Java精选笔记_HTTP协议

    HTTP协议 HTTP概述 介绍 HTTP是Hyper Text Transfer Protocol的缩写,即超文本传输协议. HTTP是一种请求/响应式的协议,客户端在与服务器端建立连接后,就可以向 ...

  4. javaweb基础(4)_http协议

    一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...

  5. javaEE(2)_http协议

    一.HTTP协议简介 1.客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式.dos环境下可直接通过telnet ...

  6. 互联网基础协议 - HTTP

    HTTP的简介 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. HTTP是一个基于TCP/ ...

  7. 让互联网更快:新一代QUIC协议在腾讯的技术实践分享

    本文来自腾讯资深研发工程师罗成在InfoQ的技术分享. 1.前言 如果:你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度,特别是弱网络的时候能够提升 20% 以上的访问速度. 如 ...

  8. Quick UDP Internet Connections 让互联网更快的协议,QUIC在腾讯的实践及性能优化

    https://mp.weixin.qq.com/s/44ysXnVBUq_nJByMyX9n5A 让互联网更快:通往QUIC之路 原创: 史天 翻译 云技术实践 8月15日 QUIC(Quick U ...

  9. TCP/IP协议(二)tcp/ip基础知识

    今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...

随机推荐

  1. 高效编程之 cProfile 性能分析

    写代码经常会听说一些名词,比如 性能分析.代码调优. cProfile 是 python 代码调优的一种工具,它能够统计在整个代码执行过程中,每个函数调用的次数和消耗的时间. 这个工具虽然很常用,但是 ...

  2. win10子系统Ubuntu重置

    重置: 在win10命令行下执行: lxrun /uninstall /full 安装: win+R打开bash 执行命令: lxrun /install /y

  3. windows系统下nginx+tomcat+redis做负载均衡和session粘滞附整套解决方案

    Nginx: 在nginx-1.8.0\conf目录下找到nginx.conf文件,打开文件修改文件中http{}中的内容,在http{}中加入 upstream localhost  { serve ...

  4. Elasticsearch入门教程(五):Elasticsearch查询(一)

    原文:Elasticsearch入门教程(五):Elasticsearch查询(一) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...

  5. C# 面向对象3 静态和非静态的区别

    静态和非静态的区别 1.在非静态类中,既可以有实例成员(非静态成员),也可以有静态成员. 2.在调用实例成员的时候,需要使用对象名.实例成员; 在调用静态成员的时候,需要使用类名.静态成员名; 总结: ...

  6. 原生js和css写虚拟键盘

    代码来源忘记是哪个大神的了,抱歉抱歉 放上源码: <!-- 虚拟键盘 --> <!DOCTYPE html> <html> <head> <met ...

  7. UITableViewCell背景色.选中背景色,分割线,字体颜色设置

    1.系统默认的颜色设置 //无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle = ...

  8. 【Groovy】 Groovy笔记

    一.简单了解Groovy Groovy简介: Groovy是基于JVM的敏捷开发语言,语法与Java类似,但更加简洁,容错性也比Java强,同时Java能非常好的契合(例如Groovy能够使用Java ...

  9. linux系统awk命令

    awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息awk处理过程:?依次对每一行进行处理,然后输出awk命令形式:awk [-F|-f ...

  10. Linux上ssh免秘钥互登

    两台机器分别为:master:192.168.1.10sever1:192.168.1.20 1.检查机器名和连通性 a.查看/etc/hostname [root@master master]# m ...