zoukankan      html  css  js  c++  java
  • Http协议

    一、HTTP概述
    二、请求协议
    三、响应协议
    四、请求方式get和post

    Http协议

    HTTP协议是建立在TCP协议的基础之上,TCP用于数据传输,HTTP用于确定传输内容格式。

    HTTP概述:

    HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。HTTP就是一个通信规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。

    特点:
    超文本传输协议,包括请求协议和响应协议。
    无状态协议,每一次链接都是全新的链接,不记录以往状态。
    

    请求协议(浏览器--->server)

    1.请求首行:GET /favicon.ico HTTP/1.1 #基于什么版本的http协议	
    
    2.请求头信息:
    	Host:127.0.0.1:8080
    	Connection:keep-alive #通信方式:长链接,等待3000毫秒再断开
    	User-Agent:... #操作系统,浏览器
    	Accept:*/* #可接收任意数据类型
    	Accept-Encoding:... #编码,解压方式
    	Accept-Language:... #支持语言
    	Cache-Control:no-cache #页面缓存
    	重点:
    	Referer:... #引用,链接从哪里来
    	Cookies:... #字典,存放多组键值对,由server返回给浏览器
    	
    3.空行
    
    4.请求体:请求数据,get没有请求体,只有post由请求体
    

    响应协议(server--->浏览器)

    1.响应首行
    
    2.响应头信息
    	
    	Request URL:http://127.0.0.1:8090/login/
    	Request Method:GET
    	Status Code:200 OK #状态码为200,表示请求成功,OK是对状态码的解释
    	Remote Address:127.0.0.1:8090
    	Response Headers
    	view source
    	Content-Type:text/html; charset=utf-8 #响应体使用的编码为UTF-8
    	Date:Wed, 26 Oct 2016 06:48:50 GMT #响应的时间,这可能会有8小时的时区差
    	Server:WSGIServer/0.2 CPython/3.5.2 #服务器的版本信息
    	X-Frame-Options:SAMEORIGIN
    	Set-Cookie: JSESSIONID=C97E2B4C55553EAB46079A4F263435A4; Path=/hello #响应给客户端的Cookie;
    	Refresh:3;url=http://www.baidu.com #等待3秒,跳转到baidu
    	
    3.空行
    
    4.响应体
    

    请求方式get和post

    GET请求:
    	没有请求体
    	数据必须在1k之内(有限)
    	将请求方式内容等放在url连接中
    	
    	get请求常用的操作:
    		1.在浏览器的地址栏中直接给出URL,那么就一定是GET请求
     		2.点击页面上的超链接也一定是GET请求
     		3.提交表单时,表单默认使用GET请求,但可以设置为POST
    
    POST请求:
    	数据不会出现在地址栏中
    	数据的大小没有上限
    	有请求体
    	请求体中如果存在中文,会使用URL编码!
    

    状态码

    200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
    404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;4开头客户端出问题
    500:请求资源找到了,但服务器内部出现了错误;5开头服务端出现问题
    302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;
    304:客户端请求,服务端返回304,表示与上次访问的网页缓存相同
  • 相关阅读:
    NotMapped属性特性
    html.EditorForModel自定义模版
    ASP.NET MVC Core的TagHelper (高级特性)
    C#静态构造函数调用机制
    ASP.NET Forms 身份认证
    特别需要注意!
    观后感
    python进阶日记(生成器)
    python进阶日记(try except)
    python进阶日记(lambda函数)
  • 原文地址:https://www.cnblogs.com/sunqim16/p/6856396.html
Copyright © 2011-2022 走看看