HTTP请求相关基础知识

去了某家大公司面测试开发,问到了一些HTTP请求相关的内容,我竟然支支吾吾打不出来~~

赶紧恶补一波,还有一个复试~~

HTTP协议 超文本传输协议 基于TCP/IP通讯协议来传递数据

主要特点:

1.简单快速

2.灵活

3.无连接

4.无状态

5支持B/S及C/S模式

 

URL 统一资源定位符

http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

1.http: 协议名称

2.www.aspxfans.com     域名部分

3.8080     端口部分

4./news/     虚拟目录部分

5.index.asp     文件名部分

6.#到最后     锚部分

7.?到#中间的部分     参数部分

 

HTTP 请求消息Request,格式包括:

1.请求行     请求类型,访问的资源及HTTP版本(不同请求区别在与请求行的 GET/POST请求头)

2.请求头部     说明服务器要使用的附加信息,浏览器相关的内容,由浏览器来自己定义

3.空行     请求头部后面的空行是必须的

4.请求数据     请求数据如name=多少 id等于多少等等

GET /562f25980001b1b106000338.jpg HTTP/1.1
Host    img.mukewang.com
User-Agent    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept    image/webp,image/*,*/*;q=0.8
Referer    http://www.imooc.com/
Accept-Encoding    gzip, deflate, sdch
Accept-Language    zh-CN,zh;q=0.8、

HTTP响应消息Response,格式包括:

1.状态行,由HTTP协议版本号、状态码、状态消息组成

2.消息报头,用来说明客户端要使用的一些附加信息

3.空行

4.响应正文,服务器返回给客户端的文本信息

HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8

<html>
      <head></head>
      <body>
            <!--body goes here-->
      </body>
</html>

 

 

HTTP之状态码:三位数字组成,第一个数字定义响应的类别

1xx:指示信息--表示请求已经接受,继续处理

2xx:成功,表示请求已被成功接收、理解、接受

3xx:  重定向,要完成请求必须进行更进一步的操作

4xx: 客户端错误,请求有语法错误或请求无法实现

5xx:  服务器端错误,服务器未能实现合法的请求

常见状态码:

200 OK     客户端请求成功

400 Bad Request     客户端请求有语法错误,不能被服务器所理解

403 Forbidden     服务器收到请求,但是拒绝提供服务

404 Not Found     请求资源不存在,输入了错误的URL

500 Internal Server Error     服务器发生了不可预期的错误

503 Server Unavailable     服务器当前不能处理客服端的请求,一段时间后可能恢复正常

 

HTTP请求方法:

1.0定义了三种请求方法:    

GET:请求指定的页面信息,并返回实体主体

POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)

HEAD:类似get请求,只不过返回的响应中没有具体的内容,用于获取报头

 

HTTP工作原理: 工作步骤:

1. 一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口,建立一个TCP套接字连接

2.发送HTTP请求,即上面的上面的request等

3.服务器接受请求并返回HTTP响应,Web服务器解析请求,定位请求资源,即response

4.释放连接TCP

5.客户端解析服务器返回的HTML内容

 

浏览器输入URL,按下回车之后会经历以下流程:

1.浏览器像DNS服务器请求解析该URL中的域名所对应的IP地址

2.解析IP地址后,根据ip地址和端口,和服务器建立TCP连接

3.浏览器发出读取文件的HTTP请求,改请求报文作为TCP三次握手的第三个报文的数据发给服务器;

4.服务器对浏览器请求做出响应,并把对应的html文本发送给浏览器;

5.释放TCP连接

6.浏览器将该html文本并显示内容

 

 

GET、POST的区别

1. GET会将参数附加到地址上,而POST请求不会

2.浏览器和服务器对URL长度一般来说会有限制,所以采用GET方法提交的时候,传输数据就会受到URL长度的限制。

3.POST的安全性要比GET的安全性高,通过GET提交数据,数据会明文显示在URL上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值